Clause sets #
A clause set is a finite set of clauses, each a finite set of literals: the set-based form of a
formula in conjunctive normal form, in which the order and repetition of clauses and literals do
not matter. Set operations on clauses (subclauses, differences) are what the sparsification lemma
works with. A formula in conjunctive normal form and its clause set have the same solutions
(CNF.sat_toClauseSet_iff), and a clause set is the clause set of a formula listing its clauses
(ClauseSet.eval_toCNF_eq_true_iff).
Main definitions #
Cslib.Logic.PL.ClauseSet: finite sets of finite sets of literals.Cslib.Logic.PL.ClauseSet.Sat,Cslib.Logic.PL.ClauseSet.solutions: satisfaction.Cslib.Logic.PL.ClauseSet.occurrences: the number of clauses mentioning a variable.Cslib.Logic.PL.CNF.toClauseSet,Cslib.Logic.PL.ClauseSet.toCNF: the translations.
References #
There are two literals for each variable.
A clause set: a finite set of clauses, each a finite set of literals. A clause is satisfied when one of its literals is true; a clause set when all of its clauses are.
Instances For
The solutions of a clause set.
Instances For
The number of clauses of ψ mentioning the variable v.
Instances For
The clause set of a formula in conjunctive normal form.
Instances For
A formula in conjunctive normal form and its clause set have the same solutions.
A clause of the clause set of a formula has at most as many literals as the clause it comes from.
A formula listing the clauses of a clause set.
Instances For
The formula of a clause set has as many clauses mentioning v as the clause set.