3 #include "../QEQuery.h"
12 #include <carl-arith/poly/umvpoly/MultivariatePolynomial.h>
13 #include <carl-arith/core/Relation.h>
14 #include <carl-arith/core/Sign.h>
15 #include <carl-arith/poly/umvpoly/UnivariatePolynomial.h>
16 #include <carl-arith/poly/umvpoly/functions/Factorization.h>
17 #include <carl-formula/model/Model.h>
18 #include <carl-arith/ran/ran.h>
40 std::vector<std::pair<QuantifierType, carl::Variable>>
mQuantifiers;
59 return mCAD.getLifting().getTree();
62 return mCAD.getLifting().getTree();
66 std::vector<TreeIT> res;
67 for (
auto child =
tree().begin_children(it); child !=
tree().end_children(it); ++child) {
68 res.emplace_back(child);
74 void updateCAD(std::vector<Poly>& polynomials);
CADElimination(const FormulaT &quantifierFreePart, const QEQuery &quantifiers)
FormulaT eliminateQuantifiers()
bool truthBoundaryTest(TreeIT &b, TreeIT &c, TreeIT &d)
std::vector< TreeIT > mTrueSamples
std::vector< std::pair< QuantifierType, carl::Variable > > mQuantifiers
std::map< TreeIT, bool > mTruth
CAD< CADSettings >::TreeIterator TreeIT
FormulaT constructSolutionFormula()
void updateCAD(std::vector< Poly > &polynomials)
void computeTruthValues()
const auto & tree() const
FormulaT mQuantifierFreePart
std::vector< TreeIT > mFalseSamples
std::vector< ConstraintT > mConstraints
std::map< TreeIT, std::vector< carl::Sign > > mSignature
FormulaT constructImplicant(const TreeIT &sample)
std::vector< TreeIT > collectChildren(const TreeIT &it) const
bool isProjectionDefinable()
std::vector< carl::Variable > mVariables
std::vector< T > computeHittingSet(const std::vector< std::vector< T >> &setOfSets)
std::vector< std::pair< TreeIT, TreeIT > > mCauseConflict
void makeProjectionDefinable()
FormulasT mAtomicFormulas
typename smtrat::cad::LiftingTree< Settings >::Iterator TreeIterator
std::vector< std::pair< QuantifierType, std::vector< carl::Variable > >> QEQuery
carl::Formula< Poly > FormulaT
carl::Formulas< Poly > FormulasT
static constexpr smtrat::cad::Incrementality incrementality
static constexpr smtrat::cad::Backtracking backtracking
static constexpr smtrat::cad::ProjectionType projectionOperator