Base class for a PseudoBoolean Encoder.
std::vector< Integer > integerFactorization(const Integer &coeff)
std::optional< FormulaT > doEncode(const ConstraintT &constraint)
std::vector< Integer > calculateRNSBase(const ConstraintT &formula)
bool canEncode(const ConstraintT &constraint)
std::vector< std::vector< Integer > > primesTable()
const std::vector< std::vector< Integer > > mPrimesTable
FormulaT rnsTransformation(const ConstraintT &formula, const Integer &prime)
bool isNonRedundant(const std::vector< Integer > &base, const ConstraintT &formula)
Class to create the formulas for axioms.
carl::Formula< Poly > FormulaT
carl::Constraint< Poly > ConstraintT
carl::IntegralType< Rational >::type Integer