10#include <unordered_set>
13#include "dlinear/symbolic/FormulaVisitor.h"
14#include "dlinear/symbolic/GenericExpressionVisitor.h"
15#include "dlinear/symbolic/literal.h"
16#include "dlinear/symbolic/symbolic.h"
17#include "dlinear/util/Config.h"
18#include "dlinear/util/Stats.h"
44 [[nodiscard]]
const std::unordered_map<Expression, Variable> &variables()
const;
96 mutable std::unordered_map<Expression, Variable>
98 mutable std::unordered_map<Variable, Formula>
Simple dataclass used to store the configuration of the program.
Generic expression visitor implementing the visitor pattern.
const Config & config() const
IfThenElseEliminator class.
std::size_t counter_
Counter for the number of introduced variables.
Formula Process(const Formula &f)
Returns a equisatisfiable formula by eliminating if-then-expressions in f by introducing new variable...
std::unordered_map< Expression, Variable > ite_to_var_
Mapping from ITE to the corresponding variable obtained by ITE elimination.
std::vector< Formula > added_formulas_
The added formulas introduced by the elimination process.
std::unordered_set< Variable > ite_variables_
The variables introduced by the elimination process.
std::unordered_map< Variable, Formula > ite_var_to_formulas_
Mapping from ITE to the corresponding variable obtained by ITE elimination.
Represents a symbolic form of an expression.
Global namespace for the dlinear library.