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.

6. Completeness 54<br />

Now let D be any sentence among ∆; I claim that v makes D true. To<br />

prove this claim, I first consider the CNF sentence D ∗ generated in Step 1<br />

<strong>of</strong> SimpleSearch, such that D ⊢ D ∗ . It is easy to show that, for every<br />

(conjoined) disjunction in D ∗ , at least one disjunct <strong>of</strong> that disjunction appears<br />

in Ω; it follows that each <strong>of</strong> the disjuncts is made true by v, so that D ∗ is made<br />

true by v (I leave the details <strong>of</strong> this as an exercise). Now, since D ∗ ⊢ D, the<br />

Soundness Theorem tells us that D ∗ ⊨ D; so v must make D true too.<br />

Pro<strong>of</strong> <strong>of</strong> (3). Suppose, for reductio, that ∆ ⊢ ⊥. Then, by the Soundness<br />

Theorem, there is no valuation that makes all <strong>of</strong> the ∆ true. This contradicts<br />

what we have just shown in point (2).<br />

■<br />

⊢<br />

And now – at long last – since we can trust the outputs <strong>of</strong> SimpleSearch, we<br />

can show that SimpleSearch has properties (a1) and (a2):<br />

Theorem 6.7. Given any sentences ∆:<br />

1. If ∆ ⊢ ⊥, then SimpleSearch yields a TFL-pro<strong>of</strong> which starts with ∆<br />

as assumptions and terminates in ‘⊥’.<br />

2. If ∆ ⊬ ⊥, then SimpleSearch shows us as much and yields a valuation<br />

which makes all <strong>of</strong> ∆ true.<br />

Pro<strong>of</strong>. Suppose ∆ ⊢ ⊥. Then by Lemma 6.6, SimpleSearch does not output a<br />

pro<strong>of</strong> or pro<strong>of</strong>-skeleton whose last line is not ‘⊥’ on no assumptions other than<br />

∆. But by Lemma 6.4, SimpleSearch does terminate. So the last line <strong>of</strong> the<br />

output must be ‘⊥’, on no assumptions other than ∆, which, by Lemma 6.5,<br />

is an explicit TFL-pro<strong>of</strong> that ∆ ⊢ ⊥.<br />

Suppose ∆ ⊬ ⊥. Then by Lemma 6.5, SimpleSearch does not output a<br />

pro<strong>of</strong>-skeleton whose last line is ‘⊥’ on no assumptions other than ∆. Now<br />

apply Lemma 6.6.<br />

■<br />

And with this result, we have achieved what we set out to achieve! But it might<br />

be worth reminding ourselves why we set out on this course. Our target for this<br />

chapter was to prove the Completeness Theorem. To prove that, we needed to<br />

prove Lemma 6.2. But Theorem 6.7 immediately entails Lemma 6.2 (just look<br />

at the second condition). So we have proved the Completeness Theorem, and<br />

acquired a useful little algorithm along the way!<br />

6.3 A more abstract approach: polarising sentences<br />

We could stop now. But I want to <strong>of</strong>fer a second pro<strong>of</strong> <strong>of</strong> the Completeness<br />

Theorem. It is more abstract, more general, and in a sense, more direct.<br />

From the perspective <strong>of</strong> proving the Completeness Theorem, it is massive<br />

overkill to deploy SimpleSearch. For our purposes, all that matters is the<br />

following: when ∆ ⊬ ⊥, there are some atomic sentences and negations <strong>of</strong><br />

atomic sentences, Ω, from which we can read <strong>of</strong>f a valuation that makes all <strong>of</strong><br />

∆ true. From an abstract point <strong>of</strong> view, we needn’t care how SimpleSearch<br />

generates Ω; only that Ω exists. The second pro<strong>of</strong> <strong>of</strong> the Completeness Theorem<br />

builds upon this observation.

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

Saved successfully!

Ooh no, something went wrong!