22 template<
typename Settings>
26 #ifdef SMTRAT_DEVOPTION_Statistics
27 NewCADStatistics&
mStatistics = statistics_get<NewCADStatistics>(Settings::moduleName);
47 assert(f.formula().type() == carl::FormulaType::CONSTRAINT);
65 return SettingsType::moduleName;
A base class for all kind of theory solving methods.
ModuleStatistics & mStatistics
const ModuleInput & rReceivedFormula() const
NewCADModule(const ModuleInput *_formula, Conditionals &_conditionals, Manager *_manager=nullptr)
std::vector< Poly > mPolynomials
Stores the polynomials seen during inform() to build the variable ordering.
std::string moduleName() const
bool informCore(const FormulaT &_constraint)
Informs the module about the given constraint.
Answer checkCore()
Checks the received formula for consistency.
carl::carlVariables mVariables
void removeConstraint(const ConstraintT &c)
cad::CAD< Settings > mCAD
void pushConstraintsToReplacer()
void removeConstraintsFromReplacer()
void addConstraint(const ConstraintT &c)
void removeCore(ModuleInput::const_iterator _subformula)
Removes the subformula of the received formula at the given position to the considered ones of this m...
void init()
Informs all backends about the so far encountered constraints, which have not yet been communicated.
cad::Assignment mLastAssignment
bool addCore(ModuleInput::const_iterator _subformula)
The module has to take the given sub-formula of the received formula into account.
cad::Preprocessor mPreprocessor
void updateModel() const
Updates the current assignment into the model.
void addConstraint(const ConstraintT &c)
void removeConstraint(const ConstraintT &c)
std::map< carl::Variable, RAN > Assignment
Class to create the formulas for axioms.
carl::Formula< Poly > FormulaT
const settings::Settings & Settings()
carl::Model< Rational, Poly > Model
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