11 : smtSolver(
std::move(smtSolver)) {
13 this->smtSolver->add(constraint.get());
18 for (
auto const& constraint : constraints) {
19 this->smtSolver->add(constraint);
24 this->smtSolver->push();
27 this->smtSolver->pop();
32 this->smtSolver->push();
36 this->smtSolver->pop();
39 this->smtSolver->pop();
40 this->smtSolver->push();
44 this->smtSolver->pop();
bool areEquivalentModuloNegation(storm::expressions::Expression const &first, storm::expressions::Expression const &second)
void addConstraints(std::vector< storm::expressions::Expression > const &constraints)
bool areEquivalent(storm::expressions::Expression const &first, storm::expressions::Expression const &second)
EquivalenceChecker(std::unique_ptr< storm::solver::SmtSolver > &&smtSolver, boost::optional< storm::expressions::Expression > const &constraint=boost::none)
Creates an equivalence checker with the given solver and constraint.
Expression iff(Expression const &first, Expression const &second)