10 #include <carl-arith/poly/umvpoly/MultivariatePolynomial.h>
36 struct decidePassingPolynomial;
38 typedef carl::StdMultivariatePolynomialPolicies<carl::BVReasons>
ReasonPolicy;
43 static constexpr
auto moduleName =
"GBModule<GBSettings5>";
46 typedef carl::GrLexOrdering
Order;
49 typedef carl::Reductor<PolynomialWithReasons,PolynomialWithReasons>
Reductor;
51 typedef carl::GBProcedure<PolynomialWithReasons, carl::Buchberger, carl::StdAdding>
Groebner;
76 static constexpr
auto moduleName =
"GBModule<GBSettings3>";
79 typedef carl::GrLexOrdering
Order;
82 typedef carl::Reductor<PolynomialWithReasons,PolynomialWithReasons>
Reductor;
84 typedef carl::GBProcedure<PolynomialWithReasons, carl::Buchberger, carl::StdAdding>
Groebner;
118 typedef carl::Reductor<PolynomialWithReasons,PolynomialWithReasons>
Reductor;
120 typedef carl::GBProcedure<PolynomialWithReasons, carl::Buchberger, carl::StdAdding>
Groebner;
152 typedef carl::Reductor<PolynomialWithReasons,PolynomialWithReasons>
Reductor;
154 typedef carl::GBProcedure<PolynomialWithReasons, carl::Buchberger, carl::StdAdding>
Groebner;
186 typedef carl::Reductor<PolynomialWithReasons,PolynomialWithReasons>
Reductor;
188 typedef carl::GBProcedure<PolynomialWithReasons, carl::Buchberger, carl::StdAdding>
Groebner;
232 typedef carl::Reductor<PolynomialWithReasons,PolynomialWithReasons>
Reductor;
251 typedef carl::Reductor<PolynomialWithReasons,PolynomialWithReasons>
Reductor;
273 typedef carl::Reductor<PolynomialWithReasons,PolynomialWithReasons>
Reductor;
287 template<
typename O,
typename P>
288 static bool evaluate (
const carl::MultivariatePolynomial<Rational, O, P>& original,
const carl::MultivariatePolynomial<Rational, O, P>& reduced) {
289 return (original.lterm().tdeg() >= reduced.lterm().tdeg() && original.nr_terms() > reduced.nr_terms() );
Class to create the formulas for axioms.
pass_inequalities
Only active if we check inequalities.
carl::StdMultivariatePolynomialPolicies< carl::BVReasons > ReasonPolicy
after_firstInfeasibleSubset
@ PROCEED_ALLINEQUALITIES
@ PROCEED_INFEASIBLEANDDEDUCTION
static constexpr auto moduleName
static const check_inequalities checkInequalities
static const transform_inequalities transformIntoEqualities
static const bool getReasonsForInfeasibility
carl::GBProcedure< PolynomialWithReasons, carl::Buchberger, carl::StdAdding > Groebner
carl::Reductor< PolynomialWithReasons, PolynomialWithReasons > Reductor
static const unsigned sternBrocotHigherPrecisionSteps
static const unsigned sternBrocotHigherPrecisionFactor
static const bool passWithMinimalReasons
static const theory_deductions addTheoryDeductions
static const bool checkInequalitiesForTrivialSumOfSquares
carl::MultivariatePolynomial< Rational, Order, ReasonPolicy > PolynomialWithReasons
carl::Ideal< PolynomialWithReasons > MultivariateIdeal
static const unsigned callSDPAfterNMonomials
carl::GrLexOrdering Order
static const bool applyNSS
static const unsigned SDPupperBoundNrVariables
static const unsigned sternBrocotStartPrecisionOneTo
static const pass_inequalities passInequalities
static const unsigned identifier
static const bool checkEqualitiesForTrivialSumOfSquares
static const after_firstInfeasibleSubset withInfeasibleSubset
static const unsigned maxSDPdegree
smtrat::decidePassingPolynomial passPolynomial
static const bool iterativeVariableRewriting
static const unsigned setCheckInequalitiesToBeginAfter
static const unsigned callSDPAfterNMonomials
carl::Ideal< PolynomialWithReasons > MultivariateIdeal
static const backtracking_mode backtrackingIneq
static constexpr auto moduleName
static const unsigned sternBrocotHigherPrecisionFactor
static const bool iterativeVariableRewriting
static const bool passWithMinimalReasons
static const bool getReasonsForInfeasibility
static const theory_deductions addTheoryDeductions
carl::MultivariatePolynomial< Rational, Order, ReasonPolicy > PolynomialWithReasons
static const after_firstInfeasibleSubset withInfeasibleSubset
carl::GrLexOrdering Order
static const unsigned identifier
static const bool checkInequalitiesForTrivialSumOfSquares
smtrat::decidePassingPolynomial passPolynomial
carl::GBProcedure< PolynomialWithReasons, carl::Buchberger, carl::StdAdding > Groebner
static const check_inequalities checkInequalities
static const bool checkEqualitiesForTrivialSumOfSquares
carl::Reductor< PolynomialWithReasons, PolynomialWithReasons > Reductor
static const unsigned maxSDPdegree
static const unsigned sternBrocotStartPrecisionOneTo
static const unsigned SDPupperBoundNrVariables
static const unsigned sternBrocotHigherPrecisionSteps
static const backtracking_mode backtrackingGB
static const pass_inequalities passInequalities
static const transform_inequalities transformIntoEqualities
static const bool applyNSS
static const unsigned setCheckInequalitiesToBeginAfter
static const unsigned identifier
static const bool iterativeVariableRewriting
static const unsigned SDPupperBoundNrVariables
static const unsigned maxSDPdegree
static const unsigned identifier
static const bool applyNSS
smtrat::decidePassingPolynomial passPolynomial
carl::MultivariatePolynomial< Rational, Order, ReasonPolicy > PolynomialWithReasons
static const unsigned setCheckInequalitiesToBeginAfter
static constexpr auto moduleName
carl::GrLexOrdering Order
static const bool getReasonsForInfeasibility
static const bool checkEqualitiesForTrivialSumOfSquares
static const bool applyNSS
static const bool checkInequalitiesForTrivialSumOfSquares
static const bool iterativeVariableRewriting
static const transform_inequalities transformIntoEqualities
static const after_firstInfeasibleSubset withInfeasibleSubset
carl::Ideal< PolynomialWithReasons > MultivariateIdeal
static const unsigned identifier
static const unsigned SDPupperBoundNrVariables
static const theory_deductions addTheoryDeductions
static const bool passWithMinimalReasons
carl::GBProcedure< PolynomialWithReasons, carl::Buchberger, carl::StdAdding > Groebner
static const pass_inequalities passInequalities
static const unsigned maxSDPdegree
static const check_inequalities checkInequalities
carl::Reductor< PolynomialWithReasons, PolynomialWithReasons > Reductor
carl::GrLexOrdering Order
smtrat::decidePassingPolynomial passPolynomial
static const unsigned identifier
carl::Ideal< PolynomialWithReasons > MultivariateIdeal
carl::MultivariatePolynomial< Rational, Order, ReasonPolicy > PolynomialWithReasons
static const bool iterativeVariableRewriting
carl::Reductor< PolynomialWithReasons, PolynomialWithReasons > Reductor
static const unsigned identifier
static const bool iterativeVariableRewriting
static const transform_inequalities transformIntoEqualities
static const pass_inequalities passInequalities
static const unsigned setCheckInequalitiesToBeginAfter
static const bool iterativeVariableRewriting
carl::GBProcedure< PolynomialWithReasons, carl::Buchberger, carl::StdAdding > Groebner
static constexpr auto moduleName
carl::Ideal< PolynomialWithReasons > MultivariateIdeal
static const check_inequalities checkInequalities
carl::Reductor< PolynomialWithReasons, PolynomialWithReasons > Reductor
static const unsigned maxSDPdegree
carl::GrLexOrdering Order
static const bool passWithMinimalReasons
static const bool applyNSS
static const bool getReasonsForInfeasibility
carl::MultivariatePolynomial< Rational, Order, ReasonPolicy > PolynomialWithReasons
static const unsigned SDPupperBoundNrVariables
static const after_firstInfeasibleSubset withInfeasibleSubset
smtrat::decidePassingPolynomial passPolynomial
static const unsigned maxSearchExponent
static const theory_deductions addTheoryDeductions
static const unsigned identifier
static const bool iterativeVariableRewriting
carl::GrLexOrdering Order
carl::Reductor< PolynomialWithReasons, PolynomialWithReasons > Reductor
static const unsigned identifier
carl::Ideal< PolynomialWithReasons > MultivariateIdeal
smtrat::decidePassingPolynomial passPolynomial
carl::MultivariatePolynomial< Rational, Order, ReasonPolicy > PolynomialWithReasons
static const unsigned identifier
static const bool iterativeVariableRewriting
smtrat::decidePassingPolynomial passPolynomial
static const unsigned identifier
carl::GrLexOrdering Order
carl::MultivariatePolynomial< Rational, Order, ReasonPolicy > PolynomialWithReasons
static const bool applyNSS
static const unsigned SDPupperBoundNrVariables
carl::Ideal< PolynomialWithReasons > MultivariateIdeal
carl::Reductor< PolynomialWithReasons, PolynomialWithReasons > Reductor
static const unsigned maxSDPdegree
static const bool checkEqualitiesForTrivialSumOfSquares
static const unsigned identifier
static const unsigned setCheckInequalitiesToBeginAfter
static const check_inequalities checkInequalities
static const unsigned maxSearchExponent
static const after_firstInfeasibleSubset withInfeasibleSubset
static const transform_inequalities transformIntoEqualities
static const bool iterativeVariableRewriting
carl::GrLexOrdering Order
static const unsigned callSDPAfterNMonomials
static const bool applyNSS
static const unsigned sternBrocotHigherPrecisionSteps
smtrat::decidePassingPolynomial passPolynomial
static constexpr auto moduleName
static const pass_inequalities passInequalities
static const bool passWithMinimalReasons
static const bool checkInequalitiesForTrivialSumOfSquares
static const unsigned maxSDPdegree
static const unsigned sternBrocotStartPrecisionOneTo
static const unsigned SDPupperBoundNrVariables
static const theory_deductions addTheoryDeductions
carl::Reductor< PolynomialWithReasons, PolynomialWithReasons > Reductor
carl::Ideal< PolynomialWithReasons > MultivariateIdeal
carl::GBProcedure< PolynomialWithReasons, carl::Buchberger, carl::StdAdding > Groebner
carl::MultivariatePolynomial< Rational, Order, ReasonPolicy > PolynomialWithReasons
static const unsigned sternBrocotHigherPrecisionFactor
static const bool getReasonsForInfeasibility
static bool evaluate(const carl::MultivariatePolynomial< Rational, O, P > &original, const carl::MultivariatePolynomial< Rational, O, P > &reduced)