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.

19.4. ELIMINATING FUNCTION SYMBOLS AND IDENTITY 255<br />

that is satisfiable by compactness, instead one would apply compactness for truthfunctional<br />

satisfiability to conclude that is truth-functionally satisfiable, from which<br />

it follows that is satisfiable.) Herbr<strong>and</strong>’s theorem actually then implies the compactness<br />

theorem: Given a set Ɣ of sentences, let Ɣ # be the set of Skolem forms of sentences<br />

in Ɣ. We know from the preceding section that if every finite subset of Ɣ is satisfiable,<br />

then every finite subset of Ɣ # is satisfiable <strong>and</strong> hence truth-functionally satisfiable,<br />

<strong>and</strong> so by Herbr<strong>and</strong>’s theorem Ɣ # is satisfiable, whence the original Ɣ is satisfiable.<br />

Herbr<strong>and</strong>’s theorem also implies the soundness <strong>and</strong> Gödel completeness theorems<br />

for an appropriate kind of proof procedure (different from that used earlier in this book<br />

<strong>and</strong> from those used in introductory textbooks), which we next describe. Suppose we<br />

are given a finite set Ɣ of sentences <strong>and</strong> wish to know if Ɣ is unsatisfiable. We first<br />

replace the sentences in Ɣ by Skolem forms: the proofs of the normal form theorems<br />

given in the preceding two sections implicitly provide an effective method of doing<br />

so. Now having the finite set S 1 , ..., S n ,of∀-sentences that are the Skolem forms<br />

of our original sentences, <strong>and</strong> any effective enumeration t 1 , t 2 , t 3 ,...of terms of the<br />

language, we set about effectively generating all possible substitution instances. (We<br />

could do this by first substituting in each formula for each of its variables the term<br />

t 1 , then substituting for each variable in each formula either t 1 or t 2 , then substituting<br />

for each variable in each formula either t 1 or t 2 or t 3 , <strong>and</strong> so on. At each stage we get<br />

only finitely many substitution instances, namely, at stage m just k m , where k is the<br />

total number of variables; but in the end we get them all.)<br />

Each time we generate a new substitution instance, we check whether the finitely<br />

many instances we have generated so far are truth-functionally satisfiable. This can<br />

be done effectively, since on the one h<strong>and</strong> at any given stage we will have generated<br />

so far only finitely many substitution instances, so that there are only finitely many<br />

valuations to be considered (if the substitution instances generated so far involve m<br />

distinct atomic sentences, the number of possible valuations will be 2 m ); while on the<br />

other h<strong>and</strong>, given a valuation ω <strong>and</strong> a truth-functional compound B of given atomic<br />

sentences A i , we can effectively work out the value ω(B) required (the method of<br />

truth tables expounded in introductory textbooks being a way of setting out the work).<br />

If any finite set of Skolem instances (that is, of substitution instances of Skolem<br />

forms) turns out to be truth-functionally unsatisfiable, then the original set Ɣ is<br />

unsatisfiable: producing such a set of Skolem instances is a kind of refutation of<br />

Ɣ. Conversely, if Ɣ is unsatisfiable, the above-described procedure will eventually<br />

produce such a refutation. This is because we know from the preceding section that Ɣ<br />

is unsatisfiable if <strong>and</strong> only if Ɣ # is, <strong>and</strong> so, by Herbr<strong>and</strong>’s theorem, Ɣ is unsatisfiable<br />

if <strong>and</strong> only if some finite set of substitution instances of Skolem forms is truthfunctionally<br />

unsatisfiable. The refutation procedure just described is thus sound <strong>and</strong><br />

complete (hence so would be the proof procedure that proves Ɣ implies D by refuting<br />

Ɣ ∪{∼D}).<br />

19.4 Eliminating Function Symbols <strong>and</strong> Identity<br />

While the presence of identity <strong>and</strong> function symbols is often a convenience, their<br />

absence can often be a convenience, too, <strong>and</strong> in this section we show how they can,

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

Saved successfully!

Ooh no, something went wrong!