6#ifdef STORM_HAVE_SMTRAT
19 smtrat::RatOne* solver =
new smtrat::RatOne();
22 smtrat::addModules(solver);
29SmtratSmtSolver::~SmtratSmtSolver() {
33void SmtratSmtSolver::push() {
37void SmtratSmtSolver::pop() {
41void SmtratSmtSolver::pop(uint_fast64_t n) {
42 this->solver->pop(
static_cast<unsigned int>(n));
45SmtSolver::CheckResult SmtratSmtSolver::check() {
46 switch (this->solver->check()) {
47 case smtrat::Answer::True:
48 this->lastResult = SmtSolver::CheckResult::Sat;
50 case smtrat::Answer::False:
51 this->lastResult = SmtSolver::CheckResult::Unsat;
53 case smtrat::Answer::Unknown:
54 this->lastResult = SmtSolver::CheckResult::Unknown;
58 this->lastResult = SmtSolver::CheckResult::Unknown;
61 return this->lastResult;
64 this->solver->add(smtrat::FormulaT(pol, cr));
68smtrat::Model SmtratSmtSolver::getModel()
const {
69 return this->solver->model();
72std::vector<smtrat::FormulasT>
const& SmtratSmtSolver::getUnsatisfiableCores()
const {
73 return this->solver->infeasibleSubsets();
This class is responsible for managing a set of typed variables and all expressions using these varia...
SettingsManager const & manager()
Retrieves the settings manager.
carl::Relation CompareRelation
carl::MultivariatePolynomial< RationalFunctionCoefficient > RawPolynomial