SMT-RAT  24.02
Toolbox for Strategic and Parallel Satisfiability-Modulo-Theories Solving
PPImplicantsVarsVarorderSplitting.h
Go to the documentation of this file.
1 #pragma once
2 
7 
8 namespace smtrat {
9 
10 
11 namespace internal {
12 
13 struct CoveringNGSettings : CoveringNGSettingsDefault {
15  struct formula_evaluation {
18  auto fe_implicant_ordering = covering_ng::formula::complexity::min_vars_min_sotd;
19  std::size_t fe_results = 1;
20  auto fe_constraint_ordering = covering_ng::formula::complexity::min_tdeg;
21  bool fe_stop_evaluation_on_conflict = false;
22  bool fe_preprocess = true;
23  bool fe_postprocess = false;
24  auto fe_boolean_exploration = covering_ng::formula::GraphEvaluation::PROPAGATION;
25  return Type(proj, fe_implicant_ordering, fe_results, fe_constraint_ordering, fe_stop_evaluation_on_conflict, fe_preprocess, fe_postprocess, fe_boolean_exploration);
26  }
27  };
28 };
29 
30 }
31 
33 public:
37  addBackend<CoveringNGModule<internal::CoveringNGSettings>>()
38  })
39  );
40  }
41 };
42 } // namespace smtrat
Base class for solvers.
Definition: Manager.h:34
void setStrategy(const std::initializer_list< BackendLink > &backends)
Definition: Manager.h:385
BackendLink addBackend(const std::initializer_list< BackendLink > &backends={})
Definition: Manager.h:396
Encapsulates all computations on polynomials.
Definition: projections.h:46
bool min_vars_min_sotd(cadcells::datastructures::Projections &proj, const boost::container::flat_set< cadcells::datastructures::PolyConstraint > &a, const boost::container::flat_set< cadcells::datastructures::PolyConstraint > &b)
bool min_tdeg(cadcells::datastructures::Projections &proj, const cadcells::datastructures::PolyConstraint &a, const cadcells::datastructures::PolyConstraint &b)
VariableOrderingHeuristics
Possible heuristics for variable ordering.
Class to create the formulas for axioms.
static auto create(cadcells::datastructures::Projections &proj)
static constexpr covering_ng::variables::VariableOrderingHeuristics variable_ordering_heuristic