13 #include "../ICPModule/ICPModule.h"
17 template<
typename Settings>
42 return SettingsType::moduleName;
87 std::pair<ModuleInput::iterator,bool>
addToICP(
const FormulaT& _formula,
bool _guaranteedNew =
true );
void removeCore(ModuleInput::const_iterator _subformula)
Removes the subformula of the received formula at the given position to the considered ones of this m...
Rational mHalfOfCurrentWidth
Stores the current width for the variable domains.
std::map< carl::Variable, Poly > mVariableShifts
Stores the substitutions of variables to variable plus a value, being the shift used to arrange the v...
std::vector< std::atomic_bool * > mICPFoundAnswer
void addBound(std::vector< ModuleInput::iterator > &_addedBounds, ModuleInput::iterator _iterToBound) const
bool addCore(ModuleInput::const_iterator _subformula)
The module has to take the given sub-formula of the received formula into account.
ICPModule< ICPSettings4 > * mICP
bool tryToAddBounds(const EvalRationalIntervalMap &_varBounds, const carl::Variables &_allArithmeticVariables, std::vector< ModuleInput::iterator > &_addedBounds)
ModuleInput * mICPFormula
carl::FastMap< FormulaT, ModuleInput::iterator > mICPFormulaPositions
void removeFromICP(const FormulaT &_formula)
void useInfSubsetIfNoAddedBoundsAreContained(const Module &_module, const std::vector< ModuleInput::iterator > &_addedBounds)
Answer checkCore()
Checks the received formula for consistency.
IncWidthModule(const ModuleInput *_formula, Conditionals &_conditionals, Manager *_manager=NULL)
vb::VariableBounds< FormulaT > mVarBounds
Collection of bounds of all received formulas.
std::pair< ModuleInput::iterator, bool > addToICP(const FormulaT &_formula, bool _guaranteedNew=true)
void updateModel() const
Updates the current assignment into the model.
std::string moduleName() const
A base class for all kind of theory solving methods.
Class to create the formulas for axioms.
carl::Formula< Poly > FormulaT
const settings::Settings & Settings()
std::map< carl::Variable, RationalInterval > EvalRationalIntervalMap
Answer
An enum with the possible answers a Module can give.
std::vector< std::atomic_bool * > Conditionals
A vector of atomic bool pointers.