6#include "storm-config.h"
27 virtual std::string
toString()
const override;
39 virtual void push()
override;
41 virtual void pop()
override;
43 virtual void pop(uint_fast64_t n)
override;
45 virtual void reset()
override;
90 void writeCommand(std::string smt2Command,
bool expectSuccess);
97 std::vector<std::string> readSolverOutput(
bool waitForOutput =
true);
108 void checkForErrorMessage(
const std::string message);
114 pid_t processIdOfSolver;
117 std::ofstream commandFile;
119 bool isCommandFileOpen;
122 std::unique_ptr<storm::adapters::Smt2ExpressionAdapter> expressionAdapter;
131 bool useCarlExpressions;
134 bool useReadableVarNames =
true;
137 bool needsRestart =
false;
This class is responsible for managing a set of typed variables and all expressions using these varia...
The base class for all model references.
SmtSolver(storm::expressions::ExpressionManager &manager)
Constructs a new Smt solver with the given options.
CheckResult
possible check results
virtual bool getBooleanValue(storm::expressions::Variable const &variable) const override
SmtlibModelReference(storm::expressions::ExpressionManager const &manager)
virtual std::string toString() const override
virtual int_fast64_t getIntegerValue(storm::expressions::Variable const &variable) const override
virtual double getRationalValue(storm::expressions::Variable const &variable) const override
virtual ~SmtlibSmtSolver()
virtual CheckResult check() override
Checks whether the conjunction of assertions that are currently on the solver's stack is satisfiable.
virtual void push() override
Pushes a backtracking point on the solver's stack.
virtual void reset() override
Removes all assertions from the solver's stack.
virtual void add(storm::expressions::Expression const &assertion) override
Adds an assertion to the solver's stack.
virtual CheckResult checkWithAssumptions(std::set< storm::expressions::Expression > const &assumptions) override
Checks whether the conjunction of assertions that are currently on the solver's stack together with t...
bool isNeedsRestart() const
SmtlibSmtSolver(storm::expressions::ExpressionManager &manager, bool useCarlExpressions=false)
Creates a new solver with the given manager.
virtual void pop() override
Pops a backtracking point from the solver's stack.
carl::Relation CompareRelation
carl::Variable RationalFunctionVariable
carl::RationalFunction< Polynomial, true > RationalFunction