Metatheory - University of Cambridge
Metatheory - University of Cambridge
Metatheory - University of Cambridge
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
3. Normal forms 28<br />
(cnf2) Every occurrence <strong>of</strong> negation has minimal scope;<br />
(cnf3) No conjunction occurs within the scope <strong>of</strong> any disjunction.<br />
Generally, then, a sentence in CNF looks like this<br />
(±A 1 ∨ . . . ∨ ±A i ) ∧ (±A i+1 ∨ . . . ∨ ±A j ) ∧ . . . ∧ (±A m+1 ∨ . . . ∨ ±A n )<br />
where each A k is an atomic sentence.<br />
Since ‘¬’ is its own dual, and ‘∨’ and ‘∧’ are the duals <strong>of</strong> each other, it<br />
is immediate clear that if a sentence is in DNF, then its dual is in CNF; and<br />
vice versa. Armed with this insight, we can immediately prove another normal<br />
form theorem:<br />
Theorem 3.5. Conjunctive Normal Form Theorem. For any sentence,<br />
there is a tautologically equivalent sentence in conjunctive normal form.<br />
Pro<strong>of</strong>. Let S be any sentence. Applying the DNF Theorem to S, there is a<br />
DNF sentence, D, such that S ⊨ D. So, by Theorem 2.7, S ⊨ D. Whence,<br />
by Lemma 2.5, S ⊨ D. But, since D is in DNF, D is in CNF.<br />
■<br />
⊨<br />
⊨<br />
This slick pro<strong>of</strong> is a further illustration <strong>of</strong> the power <strong>of</strong> duality. However, it<br />
might suggest that the DNF Theorem enjoys some kind <strong>of</strong> ‘precedence’ over<br />
the CNF Theorem. That would be misleading. We can easily prove the CNF<br />
Theorem directly, using either <strong>of</strong> the two pro<strong>of</strong> techniques that we used to<br />
prove the DNF Theorem (whereupon the DNF Theorem could be proved as a<br />
consequence <strong>of</strong> the CNF Theorem and duality). I shall sketch the main ideas<br />
<strong>of</strong> the direct pro<strong>of</strong>s <strong>of</strong> the CNF Theorem; I leave it as an exercise to make these<br />
ideas more precise.<br />
Pro<strong>of</strong> sketch <strong>of</strong> CNF Theorem via truth tables. Given a TFL sentence, S, we<br />
begin by writing down the complete truth table for S.<br />
If S is true on every line <strong>of</strong> the truth table, then S ⊨ (A 1 ∨ ¬A 1 ).<br />
If S is false on at least one line <strong>of</strong> the truth table then, for every line on<br />
the truth table where S is false, write down a disjunction (±A 1 ∨ . . . ∨ ±A n )<br />
which is false on (and only on) that line. Let C be the conjunction <strong>of</strong> all <strong>of</strong><br />
these disjuncts; by construction, C is in CNF and S ⊨ C .<br />
■<br />
Pro<strong>of</strong> sketch <strong>of</strong> CNF Theorem via substitution. Using Lemmas 3.2–3.3, we can<br />
obtain a sentence satisfying (cnf1) and (cnf2). To turn this into a sentence<br />
in CNF, we apply a modified version <strong>of</strong> Lemma 3.4, obtained by invoking the<br />
duals (what else!) <strong>of</strong> the Distribution Laws invoked there; i.e.:<br />
((A ∧ B) ∨ C )<br />
(A ∨ (B ∧ C ))<br />
⊨<br />
⊨<br />
⊨<br />
⊨<br />
⊨ ((A ∨ C ) ∧ (B ∨ C ))<br />
⊨ ((A ∨ B) ∧ (A ∨ C ))<br />
⊨<br />
This allows us to pull conjunctions outside the scope <strong>of</strong> any disjunction.<br />
■<br />
Of course, after obtaining a sentence in CNF – however we chose to do it – we<br />
can clean-up the resulting sentence using rules similar to those <strong>of</strong> §3.4. I leave<br />
it as an exercise, to determine what the appropriate rules should be.