22.01.2014 Views

Metatheory - University of Cambridge

Metatheory - University of Cambridge

Metatheory - University of Cambridge

SHOW MORE
SHOW LESS

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.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!