public interface Model extends Iterable<Model.ValueAssignment>, AutoCloseable
| Modifier and Type | Interface and Description |
|---|---|
static class |
Model.ValueAssignment |
| Modifier and Type | Method and Description |
|---|---|
void |
close()
Free resources associated with this model
(existing
Model.ValueAssignment instances stay valid,
but evaluate(Formula) etc. |
BigInteger |
evaluate(BitvectorFormula f)
Type-safe evaluation for bitvector formulas.
|
Boolean |
evaluate(BooleanFormula f)
Type-safe evaluation for boolean formulas.
|
Object |
evaluate(Formula f)
Evaluate a given formula substituting the values from the model.
|
BigInteger |
evaluate(NumeralFormula.IntegerFormula f)
Type-safe evaluation for integer formulas.
|
Rational |
evaluate(NumeralFormula.RationalFormula f)
Type-safe evaluation for rational formulas.
|
Iterator<Model.ValueAssignment> |
iterator()
Iterate over all values present in the model.
|
String |
toString()
Pretty-printing of the model values.
|
forEach, spliterator@Nullable Object evaluate(Formula f)
f - Input formulaIllegalArgumentException - if a formula has unexpected type, e.g Array.@Nullable BigInteger evaluate(NumeralFormula.IntegerFormula f)
@Nullable Rational evaluate(NumeralFormula.RationalFormula f)
@Nullable Boolean evaluate(BooleanFormula f)
@Nullable BigInteger evaluate(BitvectorFormula f)
Iterator<Model.ValueAssignment> iterator()
BasicProverEnvironment.getModelAssignments() instead in this case.iterator in interface Iterable<Model.ValueAssignment>void close()
Model.ValueAssignment instances stay valid,
but evaluate(Formula) etc. and iterator() must not be called again).close in interface AutoCloseable