Class DebuggingModel
- All Implemented Interfaces:
AutoCloseable,Iterable<Model.ValueAssignment>,Evaluator,Model
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.sosy_lab.java_smt.api.Model
Model.ValueAssignment -
Constructor Summary
ConstructorsConstructorDescriptionDebuggingModel(Model pDelegate, org.sosy_lab.java_smt.delegate.debugging.DebuggingAssertions pDebugging) -
Method Summary
Modifier and TypeMethodDescriptionasList()Build a list of assignments that stays valid after closing the model.voidclose()Free resources associated with this model (existingModel.ValueAssignmentinstances stay valid, butEvaluator.evaluate(Formula)etc.<T extends Formula>
@Nullable Teval(T formula) Evaluate a given formula substituting the values from the model and return it as formula.@Nullable BigIntegerevaluate(BitvectorFormula formula) Type-safe evaluation for bitvector formulas.@Nullable Booleanevaluate(BooleanFormula formula) Type-safe evaluation for boolean formulas.@Nullable Stringevaluate(EnumerationFormula formula) Type-safe evaluation for enumeration formulas.@Nullable FloatingPointNumberevaluate(FloatingPointFormula formula) Type-safe evaluation for floating-point formulas.@Nullable ObjectEvaluate a given formula substituting the values from the model.@Nullable BigIntegerevaluate(NumeralFormula.IntegerFormula formula) Type-safe evaluation for integer formulas.@Nullable Rationalevaluate(NumeralFormula.RationalFormula formula) Type-safe evaluation for rational formulas.@Nullable Stringevaluate(StringFormula formula) Type-safe evaluation for string formulas.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface java.lang.Iterable
forEach, spliterator
-
Constructor Details
-
DebuggingModel
public DebuggingModel(Model pDelegate, org.sosy_lab.java_smt.delegate.debugging.DebuggingAssertions pDebugging)
-
-
Method Details
-
eval
Description copied from interface:EvaluatorEvaluate a given formula substituting the values from the model and return it as formula.If a value is not relevant to the satisfiability result, the solver can choose either to insert an arbitrary value (e.g., the value
0for the matching type) or just returnnull.The formula does not need to be a variable, we also allow complex expression. The solver will replace all symbols from the formula with their model values and then simplify the formula into a simple formula, e.g., consisting only of a numeral expression.
-
evaluate
Description copied from interface:EvaluatorEvaluate a given formula substituting the values from the model.If a value is not relevant to the satisfiability result, the model can choose either an arbitrary value (e.g., the value
0for the matching type) or just returnnull.The formula does not need to be a variable, we also allow complex expression.
-
evaluate
Description copied from interface:EvaluatorType-safe evaluation for integer formulas.The formula does not need to be a variable, we also allow complex expression.
-
evaluate
Description copied from interface:EvaluatorType-safe evaluation for rational formulas.The formula does not need to be a variable, we also allow complex expression.
-
evaluate
Description copied from interface:EvaluatorType-safe evaluation for boolean formulas.The formula does not need to be a variable, we also allow complex expression.
-
evaluate
Description copied from interface:EvaluatorType-safe evaluation for bitvector formulas.The formula does not need to be a variable, we also allow complex expression.
-
evaluate
Description copied from interface:EvaluatorType-safe evaluation for string formulas.The formula does not need to be a variable, we also allow complex expression.
-
evaluate
Description copied from interface:EvaluatorType-safe evaluation for enumeration formulas.The formula does not need to be a variable, we also allow complex expression.
-
evaluate
Description copied from interface:EvaluatorType-safe evaluation for floating-point formulas.The formula does not need to be a variable, we also allow complex expression.
-
asList
Description copied from interface:ModelBuild a list of assignments that stays valid after closing the model. -
close
public void close()Description copied from interface:ModelFree resources associated with this model (existingModel.ValueAssignmentinstances stay valid, butEvaluator.evaluate(Formula)etc. andModel.iterator()must not be called again).
-