12 const auto& vp = carl::VariablePool::getInstance();
14 model.emplace(vp.find_variable_with_name(
"X"),
Rational(1)/2);
15 model.emplace(vp.find_variable_with_name(
"Y"),
Rational(-2));
16 model.emplace(vp.find_variable_with_name(
"Z"),
Rational(2));
22 (*this)(formula.subformulas());
31 for (
const auto& f: formulas) {
35 allFalse = allFalse && !res.asBool();
41 template<
typename VM,
typename BCM>
44 for (
int i = 0; i < c.
size(); i++) {
52 f.emplace_back(it->second);
56 if (v >= bcm.size())
continue;
57 if (bcm[v].first ==
nullptr)
continue;
59 f.emplace_back(bcm[v].second->reabstraction);
61 f.emplace_back(bcm[v].first->reabstraction);
73 template<
typename T,
typename VM,
typename BCM>
74 void validateClause(
const T& t,
const VM& vm,
const BCM& bcm,
bool enabled) {
Rational evaluate(carl::Variable v, const Poly &p, const Rational &r)
void validateClause(const T &t, bool enabled)
Class to create the formulas for axioms.
carl::ModelValue< Rational, Poly > ModelValue
carl::Formula< Poly > FormulaT
carl::Model< Rational, Poly > Model
carl::Formulas< Poly > FormulasT
#define SMTRAT_LOG_DEBUG(channel, msg)
void operator()(const Minisat::Clause &c, const VM &vm, const BCM &bcm) const
void operator()(const FormulasT &formulas) const
void operator()(const FormulaT &formula) const