27.04.2015 Views

Computability and Logic

Computability and Logic

Computability and Logic

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

20<br />

The Craig Interpolation Theorem<br />

Suppose that a sentence A implies a sentence C. The Craig interpolation theorem tells us<br />

that in that case there is a sentence B such that A implies B, B implies C, <strong>and</strong> B involves<br />

no nonlogical symbols but such as occur both in A <strong>and</strong> in B. This is one of the basic<br />

results of the theory of models, almost on a par with, say, the compactness theorem.<br />

The proof is presented in section 20.1. The proof for the special case where identity <strong>and</strong><br />

function symbols are absent is an easy further application of the same lemmas that we<br />

have applied to prove the compactness theorem in Chapter 13, <strong>and</strong> could have been<br />

presented there. But the easiest proof for the general case is by reduction to this special<br />

case, using the machinery for the elimination of function symbols <strong>and</strong> identity developed<br />

in section 19.4. Sections 20.2 <strong>and</strong> 20.3, which are independent of each other, take up<br />

two significant corollaries of the interpolation theorem, Robinson’s joint consistency<br />

theorem <strong>and</strong> Beth’s definability theorem.<br />

We begin with a simple observation.<br />

20.1 Craig’s Theorem <strong>and</strong> Its Proof<br />

20.1 Proposition. If a sentence A implies a sentence C, then there is a sentence B that<br />

A implies, that implies C, <strong>and</strong> that contains only such constants as are contained in both of<br />

A <strong>and</strong> C.<br />

Proof: The reason is clear: If there are no constants in A not in C, we may take A<br />

for our B; otherwise, let a 1 ,...,a n be all the constants in A <strong>and</strong> not in C, <strong>and</strong> let A*be<br />

the result of replacing each a i by some new variable v i . Then, since A → C is valid,<br />

so is ∀v 1 ···∀v n (A* → C), <strong>and</strong> hence so is ∃v 1 ···∃v n A* → C. Then ∃v 1 ···∃v n A*<br />

is a suitable B, for A implies it, it implies C, <strong>and</strong> all constants in it are in both A <strong>and</strong> C.<br />

It might occur to one to ask whether the fact just proved about constants can be<br />

subsumed under one about constants, function symbols, <strong>and</strong> predicates; that is, to ask<br />

whether if A implies C, there is always a sentence B that A implies, that implies C,<br />

<strong>and</strong> that contains only constants, function symbols, <strong>and</strong> predicates that are in both A<br />

<strong>and</strong> C. The answer to the question, as stated, is no.<br />

260

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

Saved successfully!

Ooh no, something went wrong!