Interpretations #
An Interpretation is a structure that binds term variables to literal terms
and uninterpreted functions (UUF) to interpreted ones (UDF). In practice,
Interpretations are obtained from low-level models returned by SMT solvers.
When a symbolic structure (such as a term, request, function, or entities) is interpreted with respect to an Interpretation, the result is a literal symbolic structure.
An Interpretation consists of three maps:
varsmaps variables to literal terms of the same type;funsmaps uninterpreted functions to intepreted functions; andpartialsmaps partial application terms to literals of the right type.
A partial application term represents the application of an operator to a
correctly typed literal outside of the operator's domain---for example, the
application of option.get to a .none term. The SMTLib language treats all
such operators as total, and it picks an arbitrary value of the right type as
the result of the application.
Instances For
Equations
Instances For
Equations
Instances For
Equations
- One or more equations did not get rendered due to their size.
- Cedar.SymCC.Factory.ext.ipaddr.addrV4' I t = Cedar.SymCC.Factory.ext.ipaddr.addrV4 t
Instances For
Equations
- One or more equations did not get rendered due to their size.
- Cedar.SymCC.Factory.ext.ipaddr.prefixV4' I t = Cedar.SymCC.Factory.ext.ipaddr.prefixV4 t
Instances For
Equations
- One or more equations did not get rendered due to their size.
- Cedar.SymCC.Factory.ext.ipaddr.addrV6' I t = Cedar.SymCC.Factory.ext.ipaddr.addrV6 t
Instances For
Equations
- One or more equations did not get rendered due to their size.
- Cedar.SymCC.Factory.ext.ipaddr.prefixV6' I t = Cedar.SymCC.Factory.ext.ipaddr.prefixV6 t
Instances For
Equations
- One or more equations did not get rendered due to their size.
- Cedar.SymCC.Term.interpret I (Cedar.SymCC.Term.prim p) = Cedar.SymCC.Term.prim p
- Cedar.SymCC.Term.interpret I (Cedar.SymCC.Term.var v) = I.vars v
- Cedar.SymCC.Term.interpret I (Cedar.SymCC.Term.none ty) = Cedar.SymCC.Factory.noneOf ty
- Cedar.SymCC.Term.interpret I t.some = (⊙Cedar.SymCC.Term.interpret I t)
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- Cedar.SymCC.SymTags.interpret I τags = { keys := Cedar.SymCC.UnaryFunction.interpret I τags.keys, vals := Cedar.SymCC.UnaryFunction.interpret I τags.vals }
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
Instances For
Equations
- Cedar.SymCC.SymEnv.interpret I env = { request := Cedar.SymCC.SymRequest.interpret I env.request, entities := Cedar.SymCC.SymEntities.interpret I env.entities }