SMT-RAT  24.02
Toolbox for Strategic and Parallel Satisfiability-Modulo-Theories Solving
PPImplicantsPickeringTotal.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 {
14  struct formula_evaluation {
17  auto fe_implicant_ordering = covering_ng::formula::complexity::pickering_total;
18  std::size_t fe_results = 1;
19  auto fe_constraint_ordering = covering_ng::formula::complexity::min_tdeg;
20  bool fe_stop_evaluation_on_conflict = false;
21  bool fe_preprocess = true;
22  bool fe_postprocess = false;
23  auto fe_boolean_exploration = covering_ng::formula::GraphEvaluation::PROPAGATION;
24  return Type(proj, fe_implicant_ordering, fe_results, fe_constraint_ordering, fe_stop_evaluation_on_conflict, fe_preprocess, fe_postprocess, fe_boolean_exploration);
25  }
26  };
27 };
28 
29 }
30 
32 public:
36  addBackend<CoveringNGModule<internal::CoveringNGSettings>>()
37  })
38  );
39  }
40 };
41 } // 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_tdeg(cadcells::datastructures::Projections &proj, const cadcells::datastructures::PolyConstraint &a, const cadcells::datastructures::PolyConstraint &b)
bool pickering_total(cadcells::datastructures::Projections &proj, const boost::container::flat_set< cadcells::datastructures::PolyConstraint > &a, const boost::container::flat_set< cadcells::datastructures::PolyConstraint > &b)
Inspired by Pickering, Lynn, Tereso Del Rio Almajano, Matthew England, and Kelly Cohen.
Class to create the formulas for axioms.
static auto create(cadcells::datastructures::Projections &proj)