Documentation

Cedar.SymCC.Extractor

Extracting strongly well-formed counterexamples to verification queries #

This file defines the function extract?, which turns interpretations into concrete, strongly well-formed counterexamples to verification queries.

The function takes as input a list of expressions xs, an interpretation I, and a symbolic environment εnv. Given these inputs, it returns an environment env ∈ εnv such that env is strongly well-formed, and each term in footprint xs εnv has the same interpretation under both I and every I' for which f env ∼ εnv.interpret I'.

If I is the result of solving a verify* query (see Cedar.SymCC.Verifier), then εnv.extract? xs I is a valid strongly well-formed counterexample to that query. More generally, εnv.extract? xs I extracts such a counterexample for any verification query that is expressed as a boolean combination of (boolean) terms obtained by compiling xs with respect to εnv.

See Cedar.Thm.SymCC.Verification for how this is used to prove that verification queries based on Cedar's compiler and hierarchy enforcer are correct.

Equations
  • One or more equations did not get rendered due to their size.
Instances For
    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      Equations
      Instances For
        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          Equations
          Instances For
            Equations
            • One or more equations did not get rendered due to their size.
            Instances For