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.
An interface that captures the functionality of an SMT solver.
CheckResult
possible check results
virtual bool getBooleanValue(storm::expressions::Variable const &variable) const override
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
This class represents an SMT-LIBv2 conforming solver.
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
virtual void add(storm::RationalFunction const &leftHandSide, storm::CompareRelation const &relation, storm::RationalFunction const &rightHandSide=storm::RationalFunction(0))
void add(storm::RationalFunctionVariable const &variable, bool value)
virtual void pop() override
Pops a backtracking point from the solver's stack.
carl::Relation CompareRelation
carl::Variable RationalFunctionVariable