13#include "dlinear/symbolic/FormulaVisitor.h"
14#include "dlinear/symbolic/NaiveCnfizer.h"
15#include "dlinear/symbolic/literal.h"
16#include "dlinear/symbolic/symbolic.h"
17#include "dlinear/util/Config.h"
40 [[nodiscard]] std::vector<Formula>
Process(
const Formula &f)
const;
41 [[nodiscard]] std::vector<Formula> operator()(
const Formula &f)
const;
44 [[nodiscard]]
Formula VisitConjunction(
const Formula &f, std::map<Variable, Formula> &
map)
const override;
45 [[nodiscard]]
Formula VisitDisjunction(
const Formula &f, std::map<Variable, Formula> &
map)
const override;
46 [[nodiscard]]
Formula VisitNegation(
const Formula &f, std::map<Variable, Formula> &
map)
const override;
47 [[nodiscard]]
Formula VisitForall(
const Formula &f, std::map<Variable, Formula> &
map)
const override;
Simple dataclass used to store the configuration of the program.
Transforms a symbolic formula f into a CNF formula by preserving its semantics.
Tsietin transformation is a method to convert a formula into an equi-satisfiable vector of formulae i...
const NaiveCnfizer naive_cnfizer_
Naive CNFizer. Transforms nested formulas inside universal quantification.
TseitinCnfizer(const Config &config)
Construct a new TseitinCnfizer object with the given config.
std::vector< Formula > Process(const Formula &f) const
Convert f into an equi-satisfiable formula in CNF.
Global namespace for the dlinear library.
std::set< Formula > map(const std::set< Formula > &formulas, const std::function< Formula(const Formula &)> &func)
Given formulas = {fâ, ..., fâ} and a func : Formula â Formula, map(formulas, func) returns a set {fun...