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.
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.