Created by Jesse Rappaport
In Conjunctive Normal Form (CNF), propositions are represented as CONJUNCTIONS of DISJUNCTIONS of LITERALS (a literal is an atomic proposition or its negation).
Example: (p ∨ Nr) ∧ (Nq ∨ Nr ∨ s) ∧ (s ∨ q)
In CNF, the topmost operator is the universal conjunction operator, and the only other operators are ∨ and ¬.
Some terminology: a clause is a proposition whose topmost operator is universal disjunction. A clause is here represented as a list of propositions (e.g., [p, Cpq, r]). A clause set is the universal conjunction of a set of clauses. Clause sets are indicated with angled bracks (e.g.,〈[p, Cpq, r],[ApNq,Nr]〉).
To convert a proposition into CNF, we follow two types of rules: α rules, like ∧-elimination, which add a new clause to the clause set; and, β rules, like ∨-elimination, which add new propositions to the same clause.
〈[Kpq, r]〉 ⊨ | 〈[p, r], [q, r]〉 |
〈[NCpq, r, s]〉 ⊨ | 〈[p, r, s], [Nq, r, s]〉 |
〈[NApq, r]〉 ⊨ | 〈[Np, r], [Nq, r]〉 |
〈[Apq, r]〉 ⊨ | 〈[p, q, r]〉 |
〈[Cpq, r]〉 ⊨ | 〈[Np, q, r]〉 |
〈[NKpq, r]〉 ⊨ | 〈[Np, Nq, r]〉 |
〈[NNp, r]〉 ⊨ | 〈[p, r]〉 |
〈[KApqs, Cpr, Nr]〉 | β-rule ⇛ |
〈[KApqs, Np, r, Nr]〉 | α-rule ⇛ |
〈[Apq, Np, r, Nr]〉, 〈[s, Np, r, Nr]〉 | β-rule ⇛ |
〈[p, q, Np, r, Nr]〉, 〈[s, Np, r, Nr]〉 | CNF |