Helper functions for constructing counterexamples in the linarith
and cutsat
modules
Returns an integer value i
for assigning to e
s.t. adding e := i
to a
will not falsify any disequality
and i
is not in alreadyUsed
.
Equations
Instances For
Returns true
if e
should be treated as an interpreted value by the arithmetic modules.
Equations
Instances For
Adds the assignments e' := v
to a
for each e'
in the equivalence class os e
.
Equations
Instances For
Converts the given model into a sorted array of pairs (e, v)
representing assignments e := v
.
isTarget
is a predicate used to detect terms that must be in the model but have not been assigned a value (see: assignUnassigned
)
The pairs are sorted using e
s generation and then Expr.lt
.
Only terms s.t. isInterpretedTerm e = false
are included into the resulting array.
Equations
Instances For
If the given trace class is enabled, trace the model using the class.