35 template<VariableOrdering vot,
typename Constra
ints>
38 std::vector<ConstraintT> constraints;
39 for (
int i = 0; i < c.size(); ++i) {
40 if (c[i].first ==
nullptr)
continue;
41 if (c[i].first->reabstraction.type() != carl::FormulaType::CONSTRAINT)
continue;
42 constraints.emplace_back(c[i].first->reabstraction.constraint());
45 return calculate_variable_order<vot>(constraints);
48 template<VariableOrdering vot>
std::vector< carl::Variable > feature_based_lexicographic(const Constraints &c)
std::vector< carl::Variable > greedy_max_univariate(const Constraints &c)
std::vector< carl::Variable > feature_based_z3(const Constraints &c)
std::vector< carl::Variable > feature_based_pickering(const Constraints &c)
According to Pickering, Lynn, Tereso Del Rio Almajano, Matthew England, and Kelly Cohen.
std::vector< carl::Variable > feature_based_brown(const Constraints &c)
According to https://www.usna.edu/Users/cs/wcbrown/research/ISSAC04/handout.pdf.
std::vector< carl::Variable > feature_based(const Constraints &c)
std::vector< carl::Variable > feature_based_triangular(const Constraints &c)
std::vector< carl::Variable > calculate_variable_order(const Constraints &c)
std::string get_name(VariableOrdering ordering)
std::ostream & operator<<(std::ostream &os, const Bookkeeping &bk)
@ FeatureBasedLexicographic
Class to create the formulas for axioms.