|
|
dlinear
0.0.1
Delta-complete SMT solver for linear programming
|
Implementation of NNF (Negation Normal Form) conversion. More...
#include <Nnfizer.h>
Public Member Functions | |
| Formula | Process (const Formula &f, bool push_negation_into_relationals=false) const |
Convert a f into an equivalent formula f' in NNF. | |
Public Member Functions inherited from dlinear::GenericFormulaVisitor< Formula, Args... > | |
| const IterationStats & | stats () const |
| Get read-only access to the statistics of the FormulaVisitor. | |
| const Config & | config () const |
| Get read-only access to the configuration of the FormulaVisitor. | |
Private Member Functions | |
| Formula | VisitFalse (const Formula &f, bool polarity, bool push_negation_into_relationals) const override |
Convert f into an equivalent formula f' in NNF. | |
Additional Inherited Members | |
Protected Member Functions inherited from dlinear::FormulaVisitor< bool, bool > | |
| FormulaVisitor (const Config &config, const std::string &class_name="FormulaVisitor") | |
Construct a new FormulaVisitor object with the given config. | |
Protected Member Functions inherited from dlinear::GenericFormulaVisitor< Formula, Args... > | |
| GenericFormulaVisitor (const Config &config, const std::string &class_name="GenericFormulaVisitor") | |
Construct a new FormulaVisitor object with the given config. | |
Protected Attributes inherited from dlinear::GenericFormulaVisitor< Formula, Args... > | |
| const Config & | config_ |
| Configuration. | |
| IterationStats | stats_ |
| Statistics. | |
Implementation of NNF (Negation Normal Form) conversion.
When push_negation_into_relationals is true, it pushes negations into relational formulas by flipping relational
|
nodiscard |
Convert a f into an equivalent formula f' in NNF.
| f | formula to be converted |
| push_negation_into_relationals | whether to push negation into relational formulas |
Definition at line 17 of file Nnfizer.cpp.
|
nodiscardoverrideprivate |
Convert f into an equivalent formula f' in NNF.
The parameter polarity is to indicate whether it processes f (if polarity is true) or ¬f (if polarity is false).
| f | formula to be converted |
| polarity | whether to process f or ¬f |
| push_negation_into_relationals | whether to push negation into relational formulas |
Definition at line 27 of file Nnfizer.cpp.