Computability and Logic
Computability and Logic
Computability and Logic
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
20.1. CRAIG’S THEOREM AND ITS PROOF 261<br />
20.2 Example (A failure of interpolation). Let A be ∃xFx& ∃x ∼ Fx, <strong>and</strong> let C be<br />
∃x∃yx≠ y. Then A implies C, but there is no sentence at all that contains only constants,<br />
function symbols, <strong>and</strong> predicates that are in both A <strong>and</strong> C, <strong>and</strong> therefore there is no<br />
such sentence that A implies <strong>and</strong> that implies C.<br />
Suppose we do not count the logical predicate of identity, <strong>and</strong> ask whether, if<br />
A implies C, there is always a sentence B that A implies, that implies C, <strong>and</strong> that<br />
contains no nonlogical symbols (that is, no constants, no function symbols, <strong>and</strong> no<br />
nonlogical predicates) except such as are both in A <strong>and</strong> in C. The Craig interpolation<br />
theorem is the assertion that the answer to our question, thus restated, is yes.<br />
20.3 Theorem (Craig interpolation theorem). If A implies C, then there is a sentence<br />
B that A implies, that implies C, <strong>and</strong> that contains no nonlogical symbols except such as<br />
are both in A <strong>and</strong> in C.<br />
Such a B is called an interpolant between A <strong>and</strong> C. Before launching into the<br />
proof, let us make one clarificatory observation.<br />
20.4 Example (Degenerate cases). It may happen that we need to allow the identity symbol<br />
to appear in the interpolant even though it appears in neither A nor C. Such a situation can<br />
arise if A is unsatisfiable. For instance, if A is ∃x(Fx & ∼Fx) <strong>and</strong> C is ∃xGx, then ∃x x≠ x<br />
will do for B, but there are no sentences at all containing only predicates that occur in both<br />
A <strong>and</strong> C, since there are no such predicates. A similar situation can arise if C is valid.<br />
For instance, if A is ∃xFx <strong>and</strong> C is ∃x(Gx ∨∼Gx), then ∃x x= x will do for B, but<br />
again there are no predicates that occur in both A <strong>and</strong> C. Note that ∃x x≠ x will do for<br />
an interpolant in any case where A is unsatisfiable, <strong>and</strong> ∃x x= x in any case where C is<br />
valid. (We could avoid the need for identity if we admitted the logical constants ⊤ <strong>and</strong> ⊥ of<br />
section 19.1.)<br />
Proof, Part I: This noted, we may restrict our attention to cases where A is<br />
satisfiable <strong>and</strong> C is not valid. The proof that, under this assumption, an interpolant<br />
B exists will be, like so many other proofs, divided into two parts. First we consider<br />
the case where identity <strong>and</strong> function symbols are absent, then reduce the general case<br />
where they are present to this special case. (The proof, unlike that of Proposition 20.1,<br />
will be nonconstructive. It will prove the existence of an interpolant, without showing<br />
how to find one. More constructive proofs are known, but are substantially longer <strong>and</strong><br />
more difficult.)<br />
Let us begin immediately on the proof of the special case. Considering only sentences<br />
<strong>and</strong> formulas without identity or function symbols, let A be a sentence that<br />
is satisfiable <strong>and</strong> C a sentence that is not valid (which is equivalent to saying that<br />
∼C is satisfiable), such that A implies C (which is equivalent to saying {A, ∼C}<br />
is unsatisfiable). We want to show there is a sentence B containing only predicates<br />
common to A <strong>and</strong> C, such that A implies B <strong>and</strong> B implies C (which is equivalent to<br />
saying ∼C implies ∼B).<br />
What we are going do is to show that if there is no such interpolant B, then<br />
{A, ∼C} is after all satisfiable. To show this we apply the model existence theorem