14 Module( _formula, _foundAnswer, _manager, std::move(module_name) )
26 std::pair<bool,FormulaT> simplifiedPassedFormula = backend->getReceivedFormulaSimplified();
27 if( simplifiedPassedFormula.first )
All preprocessing modules shall derive from this module, that is modules, which simplify their receiv...
A base class for all kind of theory solving methods.
void clearModel() const
Clears the assignment, if any was found.
const std::vector< Module * > & usedBackends() const
virtual std::string moduleName() const
virtual Answer runBackends()
Model mModel
Stores the assignment of the current satisfiable result, if existent.
Answer solverState() const
virtual Answer check(bool _final=false, bool _full=true, carl::Variable _objective=carl::Variable::NO_VARIABLE)
Checks the received formula for consistency.
void getBackendsModel() const
virtual void remove(ModuleInput::const_iterator _subformula)
Removes everything related to the given sub-formula of the received formula.
const ModuleInput & rPassedFormula() const
bool add(ModuleInput::const_iterator _subformula)
The module has to take the given sub-formula of the received formula into account.
PModule(const ModuleInput *_formula, Conditionals &_foundAnswer, Manager *_manager=nullptr, std::string module_name="PModule")
void remove(ModuleInput::const_iterator _subformula)
Removes everything related to the given sub-formula of the received formula.
virtual Answer runBackends()
std::pair< bool, FormulaT > mSimplifiedFormula
bool add(ModuleInput::const_iterator _subformula)
The module has to take the given sub-formula of the received formula into account.
bool appliedPreprocessing() const
void updateModel() const
Updates the current assignment into the model.
void collectSimplifiedFormula()
std::pair< bool, FormulaT > getReceivedFormulaSimplified()
bool mAppliedPreprocessing
Answer check(bool _final=false, bool _full=true, carl::Variable _objective=carl::Variable::NO_VARIABLE)
Checks the received formula for consistency.
Class to create the formulas for axioms.
carl::Formula< Poly > FormulaT
Answer
An enum with the possible answers a Module can give.
std::vector< std::atomic_bool * > Conditionals
A vector of atomic bool pointers.
#define SMTRAT_LOG_WARN(channel, msg)
#define SMTRAT_LOG_DEBUG(channel, msg)