Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Boolos et al. Computability and Logic, 5ed, CUP, 2007.pdf
Скачиваний:
593
Добавлен:
10.08.2013
Размер:
2.33 Mб
Скачать

20

The Craig Interpolation Theorem

Suppose that a sentence A implies a sentence C. The Craig interpolation theorem tells us that in that case there is a sentence B such that A implies B, B implies C, and B involves no nonlogical symbols but such as occur both in A and in B. This is one of the basic results of the theory of models, almost on a par with, say, the compactness theorem. The proof is presented in section 20.1. The proof for the special case where identity and function symbols are absent is an easy further application of the same lemmas that we have applied to prove the compactness theorem in Chapter 13, and could have been presented there. But the easiest proof for the general case is by reduction to this special case, using the machinery for the elimination of function symbols and identity developed in section 19.4. Sections 20.2 and 20.3, which are independent of each other, take up two significant corollaries of the interpolation theorem, Robinson’s joint consistency theorem and Beth’s definability theorem.

20.1 Craig’s Theorem and Its Proof

We begin with a simple observation.

20.1 Proposition. If a sentence A implies a sentence C, then there is a sentence B that A implies, that implies C, and that contains only such constants as are contained in both of A and C.

Proof: The reason is clear: If there are no constants in A not in C, we may take A for our B; otherwise, let a1, . . . , an be all the constants in A and not in C, and let A* be the result of replacing each ai by some new variable vi . Then, since A C is valid, so is v1 · · · vn (A* C), and hence so is v1 · · · vn A* C. Then v1 · · · vn A* is a suitable B, for A implies it, it implies C, and all constants in it are in both A and C.

It might occur to one to ask whether the fact just proved about constants can be subsumed under one about constants, function symbols, and predicates; that is, to ask whether if A implies C, there is always a sentence B that A implies, that implies C, and that contains only constants, function symbols, and predicates that are in both A and C. The answer to the question, as stated, is no.

260

20.1. CRAIGS THEOREM AND ITS PROOF

261

20.2 Example (A failure of interpolation). Let A be x F x & x F x, and let C bex y x = y. Then A implies C, but there is no sentence at all that contains only constants, function symbols, and predicates that are in both A and C, and therefore there is no such sentence that A implies and that implies C.

Suppose we do not count the logical predicate of identity, and ask whether, if A implies C, there is always a sentence B that A implies, that implies C, and that contains no nonlogical symbols (that is, no constants, no function symbols, and no nonlogical predicates) except such as are both in A and in C. The Craig interpolation theorem is the assertion that the answer to our question, thus restated, is yes.

20.3 Theorem (Craig interpolation theorem). If A implies C, then there is a sentence B that A implies, that implies C, and that contains no nonlogical symbols except such as are both in A and in C.

Such a B is called an interpolant between A and C. Before launching into the proof, let us make one clarificatory observation.

20.4 Example (Degenerate cases). It may happen that we need to allow the identity symbol to appear in the interpolant even though it appears in neither A nor C. Such a situation can arise if A is unsatisfiable. For instance, if A is x(F x & F x) and C is x Gx, then x x = x will do for B, but there are no sentences at all containing only predicates that occur in both A and C, since there are no such predicates. A similar situation can arise if C is valid. For instance, if A is x F x and C is x(Gx Gx), then x x = x will do for B, but again there are no predicates that occur in both A and C. Note that x x = x will do for an interpolant in any case where A is unsatisfiable, and x x = x in any case where C is valid. (We could avoid the need for identity if we admitted the logical constants and of section 19.1.)

Proof, Part I: This noted, we may restrict our attention to cases where A is satisfiable and C is not valid. The proof that, under this assumption, an interpolant B exists will be, like so many other proofs, divided into two parts. First we consider the case where identity and function symbols are absent, then reduce the general case where they are present to this special case. (The proof, unlike that of Proposition 20.1, will be nonconstructive. It will prove the existence of an interpolant, without showing how to find one. More constructive proofs are known, but are substantially longer and more difficult.)

Let us begin immediately on the proof of the special case. Considering only sentences and formulas without identity or function symbols, let A be a sentence that is satisfiable and C a sentence that is not valid (which is equivalent to saying thatC is satisfiable), such that A implies C (which is equivalent to saying { A, C} is unsatisfiable). We want to show there is a sentence B containing only predicates common to A and C, such that A implies B and B implies C (which is equivalent to saying C implies B).

What we are going do is to show that if there is no such interpolant B, then { A, C} is after all satisfiable. To show this we apply the model existence theorem

262

THE CRAIG INTERPOLATION THEOREM

(Lemma 13.3). This tells us that if L is a language containing all the nonlogical symbols of A and of C, and if L* is a language obtained by adding infinitely many new constants to L, then { A, C} will be satisfiable provided it belongs to some set S of sets of sentences of L* having certain properties. For the present situation, where identity and function symbols are absent, these properties are as follows:

(S0) If is in S and 0 is a subset of , then 0 is in S.

(S1) If is in S, then for no sentence D are both D and D in . (S2) If is in S and D is in , then {D} is in S.

(S3) If is in S and (D1 D2) is in , then {Di } is in S for either i = 1 or i = 2. (S4) If is in S and (D1 D2) is in , then {Di } is in S for both i = 1 and

i = 2.

(S5) If is in S and {x F(x)} is in , and then {F(b)} is in S for any constant b not in or xF(x).

(S6) If is in S and x F(x) is in , then {F(b)} is in S for any constant b at all.

What we need to do is to define a set S, use the hypothesis that there is no interpolant B to show { A, C} is in S, and establish properties (S0)–(S1) for S. Towards defining S, call a sentence D of L* a left formula (respectively, a right formula) if every predicate in D is in A (respectively, is in C). If L is a satisfiable set of left sentences and R a satisfiable set of right sentences, let us say that B bars the pair L , R if B is both a left and a right sentence and L implies B while R implies B. Our assumption that there is no interpolant, restated in this terminology, is the assumption that no sentence B of L bars { A}, {C}. It follows—by a proof quite like that of Proposition 20.1—that no sentence B of L* bars { A}, {C}. Let S be the set of all that admit and unbarred division in the sense that we can write as a union L R of two sets of sentences where L consists of left and R of right sentences, each ofL and R is satisfiable, and no sentence bars the pair L , R . Then what we have said so far is that { A, C} is in S. What remains to be done is to establish properties (S0)–(S6) for S.

(S0) is easy and left to the reader. For (S1), if = L R is an unbarred division, then the assumptions that L is satisfiable implies that there is no sentence D with both D and D in L . Similarly for R . Nor can there be a D with D in L andD in R , for in that case D would be both a left sentence (since it belongs to L ) and a right sentence (since it belongs to R ) and therefore would be a sentence that is implied by L and whose negation is implied by R , and so would bar L , R . Similarly, the reverse case with D in L and D in R is impossible, since D would bar the pair L , R .

For (S2), suppose = L R is an unbarred division and D is in . There are two cases according as D is in L or in R , but the two are just alike, and we consider only the former. Then since D is a left formula, so is D, and since D is implied by L , adding D to L cannot make it unsatisfiable if it was satisfiable before, nor can it make any sentence B a consequence that was not a consequence before. So {D} = ( L {D}) R is an unbarred division, and {D} is in S. (S4)–(S6) are very similar.

20.1. CRAIGS THEOREM AND ITS PROOF

263

(S3) is just slightly different. Suppose = L R is an unbarred division and (D1 D2) is in . Again there are two cases, and we consider only the one where (D1 D2) is in L . Each of the Di is of course a left sentence, since their disjunction is. We claim that {Di } = ( L {Di }) R is an unbarred division for at least one i. Towards showing this, note that if L {D1} is unsatisfiable, then L implies both (D1 D2) and D1, and hence implies D2. In this case, the proof that ( L {D2}) R is an unbarred division is just like the proof of the preceding paragraph. Similarly, if L {D2} is unsatisfiable, then ( L {D2}) R gives an unbarred division. So we are left to treat the case where L {Di } is satisfiable for both i. In this case, ( L {Di }) R can fail to give an unbarred division only because there is a sentence Bi that bars the pair L {Di }, R . What we claim is that there cannot exist such Bi both both i = 1 and i = 2. For suppose there did. Then since Bi is implied by L {Di } for each i, and L contains (D1 D2), it follows that B = (B1 B2) is implied by L . Moreover, since each Bi is implied by R , so is B. Finally, since each Bi is both a left and a right sentence, the same is true of B. Thus there is a sentence B that bars L , R , contrary to hypothesis. This contradiction completes the proof for the case where identity and function symbols are absent.

Proof, Part II: We next consider the case where identity is present but function symbols are still absent. Suppose A implies C. As in section 18.4, we introduce the new two-place predicate . We write EL for the conjunction of the equality axioms and the congruence axioms for predicates in A, and ER for the corresponding sentence for C. We write * to indicate replacing = by . Since A implies C, A & C is unsatisfiable. What the proof of Proposition 19.13 tells us is that therefore EL & ER & A* & C* is unsatisfiable. It follows that EL & A* implies ER C*. By the interpolation theorem for sentences without identity, there is a sentence B* involving only and nonlogical predicates common to A and C, such that EL & A* implies B* and B* implies ER C*. It follows that EL & A* & B* and ER & B* & C* are unsatisfiable. Then we claim B, the result of replacing by = in B*, is the required interpolant between A and C. Certainly its nonlogical predicates are common to A and C. Further, what the proof of Proposition 18.13 tell us is is that A & B and B & C are unsatisfiable, and therefore A implies B and B implies C. The treatment of function symbols is much the same, but using the machinery of Proposition 19.12 rather than of Proposition 19.13. Details are left to the reader.

In the remaining sections of this chapter we apply the interpolation theorem to prove two results about theories: one about the conditions under which the union of two theories is satisfiable, the other about the conditions under which definitions are consequences of theories. (Throughout ‘theory’ is being used, as elsewhere in this book, in a very broad way: A theory in a language is just a set of sentences of the language that contains every sentence of that language that is a logical consequence of the set. A theorem of a theory is just a sentence in that theory.)