This file functions for parsing SMT models produced by CVC5, and turning them
into Interpretations, which can then be used to construct concrete
counterexamples for property violations (i.e., Cedar requests and entities).
The included parser recognizes the subset of SMTLib syntax that can appear in a
model of a formula emitted by SymCC.Encoder.
See also Appendix B of https://smt-lib.org/papers/smt-lib-reference-v2.7-r2025-04-09.pdf
Equations
Instances For
Equations
- One or more equations did not get rendered due to their size.
- Cedar.SymCC.Decoder.defaultLit eidOf (Cedar.SymCC.TermType.prim pty) = Cedar.SymCC.Term.prim (Cedar.SymCC.Decoder.defaultPrim✝ eidOf pty)
- Cedar.SymCC.Decoder.defaultLit eidOf ty.option = Cedar.SymCC.Term.none ty
- Cedar.SymCC.Decoder.defaultLit eidOf ty.set = Cedar.SymCC.Term.set Cedar.Data.Set.empty ty
Instances For
Equations
- Cedar.SymCC.Decoder.defaultUDF eidOf f = { arg := f.arg, out := f.out, table := Cedar.Data.Map.empty, default := Cedar.SymCC.Decoder.defaultLit eidOf f.out }
Instances For
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
Returns an Interpretation that corresponds to the given model, generated by
CVC5 for a formula emitted by the encoder. This function assumes the EncoderSate
enc is produced by the encoder when applied to a set of terms ts and the
environment εnv. If εnv is well-formed, the terms ts are well-formed with
respect to εnv.entities, and CVC5 is sound, the the resulting Interpretation
satisfies ts and is well-formed with respect to εnv.entities.
Equations
- One or more equations did not get rendered due to their size.