Disjunctive normal form #
Formulas in disjunctive normal form over a type of variables V, dual to the conjunctive normal
form of Cslib.Logic.PL.CNF. A term is a list of literals read conjunctively, and a formula is a
list of terms read disjunctively. Negating every literal turns a term into a clause and a formula
in disjunctive normal form into the negation of a formula in conjunctive normal form
(DNF.eval_negate).
Main definitions #
Cslib.Logic.PL.Term,Cslib.Logic.PL.DNF,Cslib.Logic.PL.DNF.eval.Cslib.Logic.PL.DNF.negate,Cslib.Logic.PL.CNF.negate: the negation, in the dual normal form.
Main results #
Cslib.Logic.PL.DNF.eval_eq_true_iff,Cslib.Logic.PL.Term.eval_eq_true_iff: the semantics as quantifiers over terms and literals.Cslib.Logic.PL.DNF.eval_negate: de Morgan duality.
References #
A term is a conjunction of literals.
Instances For
A formula in disjunctive normal form is a disjunction of terms.
Instances For
Flipping a variable that a term does not mention does not change its value.
The clause of the negated literals of a term.
Instances For
The formula in conjunctive normal form of the negation of a formula in disjunctive normal form.
Instances For
The term of the negated literals of a clause.
Instances For
The formula in disjunctive normal form of the negation of a formula in conjunctive normal form.