SMT-RAT
24.02
Toolbox for Strategic and Parallel Satisfiability-Modulo-Theories Solving
|
Base class for a PseudoBoolean Encoder. More...
#include <PseudoBoolEncoder.h>
Public Member Functions | |
std::optional< FormulaT > | encode (const ConstraintT &constraint) |
Encodes an arbitrary constraint. More... | |
virtual Rational | encodingSize (const ConstraintT &constraint) |
virtual bool | canEncode (const ConstraintT &constraint)=0 |
virtual std::string | name () |
Data Fields | |
std::size_t | problem_size |
Protected Member Functions | |
virtual std::optional< FormulaT > | doEncode (const ConstraintT &constraint)=0 |
FormulaT | generateVarChain (const std::set< carl::Variable > &vars, carl::FormulaType type) |
Private Member Functions | |
ConstraintT | normalizeLessConstraint (const ConstraintT &constraint) |
Base class for a PseudoBoolean Encoder.
It takes a arithmetic constraint and converts it to a boolean Formula
Definition at line 13 of file PseudoBoolEncoder.h.
|
pure virtual |
Implemented in smtrat::TotalizerEncoder, smtrat::ShortFormulaEncoder, smtrat::RNSEncoder, smtrat::MixedSignEncoder, smtrat::LongFormulaEncoder, smtrat::ExactlyOneCommanderEncoder, and smtrat::CardinalityEncoder.
|
protectedpure virtual |
Implemented in smtrat::TotalizerEncoder, smtrat::ShortFormulaEncoder, smtrat::RNSEncoder, smtrat::MixedSignEncoder, smtrat::LongFormulaEncoder, smtrat::ExactlyOneCommanderEncoder, and smtrat::CardinalityEncoder.
std::optional< FormulaT > smtrat::PseudoBoolEncoder::encode | ( | const ConstraintT & | constraint | ) |
Encodes an arbitrary constraint.
Definition at line 5 of file PseudoBoolEncoder.cpp.
|
virtual |
Reimplemented in smtrat::TotalizerEncoder, smtrat::ShortFormulaEncoder, smtrat::MixedSignEncoder, smtrat::LongFormulaEncoder, smtrat::ExactlyOneCommanderEncoder, and smtrat::CardinalityEncoder.
Definition at line 33 of file PseudoBoolEncoder.cpp.
|
protected |
Definition at line 38 of file PseudoBoolEncoder.cpp.
|
inlinevirtual |
Reimplemented in smtrat::TotalizerEncoder, smtrat::ShortFormulaEncoder, smtrat::MixedSignEncoder, smtrat::LongFormulaEncoder, smtrat::ExactlyOneCommanderEncoder, and smtrat::CardinalityEncoder.
Definition at line 25 of file PseudoBoolEncoder.h.
|
private |
std::size_t smtrat::PseudoBoolEncoder::problem_size |
Definition at line 20 of file PseudoBoolEncoder.h.