27.04.2015 Views

Computability and Logic

Computability and Logic

Computability and Logic

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.

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!