20 template<
typename Settings>
24 #ifdef SMTRAT_DEVOPTION_Statistics
25 LVEStatistics&
mStatistics = statistics_get<LVEStatistics>(
"lve");
45 return SettingsType::moduleName;
All preprocessing modules shall derive from this module, that is modules, which simplify their receiv...
std::optional< FormulaT > eliminate_linear(carl::Variable v, const ConstraintT &c)
std::optional< FormulaT > eliminate_variable(carl::Variable v, const ConstraintT &c)
std::optional< FormulaT > eliminate_from_separated_factors(carl::Variable v, const Poly &with, const Poly &without, carl::Relation rel)
void count_variables(std::map< carl::Variable, std::size_t > &count, const ConstraintT &c) const
LVEModule(const ModuleInput *_formula, Conditionals &_conditionals, Manager *_manager=nullptr)
FormulaT eliminate_from_separated_disequality(carl::Variable v, const Poly &with, const Poly &without)
void updateModel() const
Updates the current assignment into the model.
Answer checkCore()
Checks the received formula for consistency.
std::optional< FormulaT > eliminate_from_factors(carl::Variable v, const ConstraintT &c)
FormulaT eliminate_from_separated_weak_inequality(carl::Variable v, const Poly &with, const Poly &without, carl::Relation rel)
std::string moduleName() const
std::vector< carl::Variable > get_lone_variables() const
std::map< carl::Variable, std::size_t > get_variable_counts() const
FormulaT eliminate_from_separated_strict_inequality(carl::Variable v, const Poly &with, const Poly &without, carl::Relation rel)
ModuleStatistics & mStatistics
Class to create the formulas for axioms.
carl::Formula< Poly > FormulaT
const settings::Settings & Settings()
carl::Model< Rational, Poly > Model
carl::MultivariatePolynomial< Rational > Poly
Answer
An enum with the possible answers a Module can give.
std::vector< std::atomic_bool * > Conditionals
A vector of atomic bool pointers.
carl::Constraint< Poly > ConstraintT