8 template<
typename Poly>
 
   20     switch(formula.
type()){
 
   32                 poss.emplace_back(
to_nnf(f));
 
   33                 negs.emplace_back(
to_nnf(f.negated()));
 
   53             for(
const auto& subformula : formula.
subformulas()){
 
   54                 disjunctions.push_back(
to_nnf(subformula));
 
   60             for(
const auto& subformula : formula.
subformulas()){
 
   61                 conjunctions.push_back(
to_nnf(subformula));
 
carl is the main namespace for the library.
Formula< Poly > to_nnf(const Formula< Poly > &formula)
std::vector< Formula< Poly > > Formulas
Formula< Pol > resolve_negation(const Formula< Pol > &f, bool _keepConstraint=true, bool resolve_varcomp=false)
Resolves the outermost negation of this formula.
Formula< Pol > connectPrecedingSubformulas(const Formula< Pol > &f)
[Auxiliary method]
const Formula & premise() const
const Formula & conclusion() const
const Formulas< Pol > & subformulas() const
const Formula & first_case() const
const Formula & second_case() const
const Formula & condition() const