37 using Reason = std::vector<std::pair<FormulaID,bool>>;
40 std::variant<TRUE,FALSE,NOT,AND,OR,IFF,XOR,BOOL,CONSTRAINT>
content;
41 boost::container::flat_set<FormulaID>
parents;
57 using VariableToFormula = boost::container::flat_map<carl::Variable, std::vector<FormulaID>>;
88 boost::container::flat_map<formula_ds::FormulaID, bool>
m_decisions;
103 GraphEvaluation(
cadcells::datastructures::Projections proj,
ImplicantOrdering implicant_complexity_ordering, std::size_t results,
ConstraintOrdering constraint_complexity_ordering,
bool stop_evaluation_on_conflict,
bool preprocess,
bool postprocess,
BooleanExploration boolean_exploration) :
m_proj(proj),
m_implicant_complexity_ordering(implicant_complexity_ordering),
m_results(results),
m_constraint_complexity_ordering(constraint_complexity_ordering),
m_stop_evaluation_on_conflict(stop_evaluation_on_conflict),
m_preprocess(
preprocess),
m_postprocess(
postprocess),
m_boolean_exploration(boolean_exploration) {}
108 std::vector<boost::container::flat_set<cadcells::datastructures::PolyConstraint>>
compute_implicants();
Encapsulates all computations on polynomials.
carl::Assignment< RAN > Assignment
carl::Formula< Poly > FormulaT