3 #include <boost/logic/tribool.hpp>
13 using VariablePos = std::vector<carl::Variable>::const_iterator;
31 std::variant<VariablePos,bool>
level(
const FormulaT& constraint)
const;
boost::tribool addConstraint(const FormulaT &f)
AssignmentFinder_SMT(VariableRange variables, const Model &model)
std::optional< AssignmentOrConflict > findAssignment() const
std::variant< VariablePos, bool > level(const FormulaT &constraint) const
std::map< VariablePos, FormulasT > mConstraints
std::unordered_map< FormulaT, FormulaT > mEvaluatedConstraints
boost::tribool addMVBound(const FormulaT &f)
std::map< VariablePos, carl::Variables > mFreeConstraintVars
ModelValues modelToAssignment(const Model &model) const
std::vector< carl::Variable >::const_iterator VariablePos
std::pair< VariablePos, VariablePos > VariableRange
std::vector< std::pair< carl::Variable, ModelValue > > ModelValues
Class to create the formulas for axioms.
carl::Formula< Poly > FormulaT
carl::Model< Rational, Poly > Model
carl::Formulas< Poly > FormulasT