 •Contents
 •Preface to the Fifth Edition
 •1 Enumerability
 •1.1 Enumerability
 •1.2 Enumerable Sets
 •Problems
 •2 Diagonalization
 •Problems
 •3 Turing Computability
 •Problems
 •4 Uncomputability
 •4.1 The Halting Problem
 •4.2* The Productivity Function
 •Problems
 •5 Abacus Computability
 •5.1 Abacus Machines
 •5.2 Simulating Abacus Machines by Turing Machines
 •5.3 The Scope of Abacus Computability
 •Problems
 •6 Recursive Functions
 •6.1 Primitive Recursive Functions
 •6.2 Minimization
 •Problems
 •7 Recursive Sets and Relations
 •7.1 Recursive Relations
 •7.2 Semirecursive Relations
 •7.3* Further Examples
 •Problems
 •8.1 Coding Turing Computations
 •8.2 Universal Turing Machines
 •8.3∗ Recursively Enumerable Sets
 •Problems
 •9.1 FirstOrder Logic
 •9.2 Syntax
 •Problems
 •10.1 Semantics
 •10.2 Metalogical Notions
 •Problems
 •11 The Undecidability of FirstOrder Logic
 •11.1 Logic and Turing Machines
 •11.2 Logic and Primitive Recursive Functions
 •11.3 Lemma
 •Problems
 •12 Models
 •12.1 The Size and Number of Models
 •12.2 Equivalence Relations
 •Problems
 •13 The Existence of Models
 •13.1 Outline of the Proof
 •13.2 The First Stage of the Proof
 •13.3 The Second Stage of the Proof
 •13.4 The Third Stage of the Proof
 •13.5* Nonenumerable Languages
 •Problems
 •14 Proofs and Completeness
 •14.1 Sequent Calculus
 •14.2 Soundness and Completeness
 •14.3* Other Proof Procedures and Hilbert’s Thesis
 •Problems
 •15 Arithmetization
 •15.1 Arithmetization of Syntax
 •Problems
 •16 Representability of Recursive Functions
 •16.2 Minimal Arithmetic and Representability
 •16.3 Mathematical Induction
 •16.4* Robinson Arithmetic
 •Problems
 •17.1 The Diagonal Lemma and the Limitative Theorems
 •17.2 Undecidable Sentences
 •17.3* Undecidable Sentences without the Diagonal Lemma
 •Problems
 •18 The Unprovability of Consistency
 •Historical Remarks
 •19 Normal Forms
 •19.1 Disjunctive and Prenex Normal Forms
 •19.2 Skolem Normal Form
 •19.3 Herbrand’s Theorem
 •19.4 Eliminating Function Symbols and Identity
 •Problems
 •20 The Craig Interpolation Theorem
 •20.1 Craig’s Theorem and Its Proof
 •20.2 Robinson’s Joint Consistency Theorem
 •20.3 Beth’s Definability Theorem
 •Problems
 •21 Monadic and Dyadic Logic
 •21.1 Solvable and Unsolvable Decision Problems
 •21.2 Monadic Logic
 •21.3 Dyadic Logic
 •Problems
 •22 SecondOrder Logic
 •Problems
 •23.2 Arithmetical Definability and Forcing
 •Problems
 •24 Decidability of Arithmetic without Multiplication
 •Problems
 •25 Nonstandard Models
 •25.1 Order in Nonstandard Models
 •25.2 Operations in Nonstandard Models
 •25.3 Nonstandard Models of Analysis
 •Problems
 •26 Ramsey’s Theorem
 •Problems
 •27 Modal Logic and Provability
 •27.1 Modal Logic
 •27.2 The Logic of Provability
 •27.3 The Fixed Point and Normal Form Theorems
 •Problems
 •Annotated Bibliography
 •General Reference Works
 •Textbooks and Monographs
 •By the Authors
 •Index
12
Models
A model of a set of sentences is any interpretation in which all sentences in the set are true. Section 12.1 discusses the sizes of the models a set of sentences may have (where by the size of a model is meant the size of its domain) and the number of models of a given size a set of sentences may have, introducing in the latter connection the important notion of isomorphism. Section 12.2 is devoted to examples illustrating the theory, with most pertaining to the important notion of an equivalence relation. Section 12.3 includes the statement of two major theorems about models, the Lowenheim¨ –Skolem (transfer) theorem and the (Tarski–Maltsev) compactness theorem, and begins to illustrate some of their implications. The proof of the compactness theorem will be postponed until the next chapter. The Lowenheim¨–Skolem theorem is a corollary of compactness (though it also admits of an independent proof, to be presented in a later chapter, along with some remarks on implications of the theorem that have sometimes been thought ‘paradoxical’).
12.1 The Size and Number of Models
By a model of a sentence or set of sentences we mean an interpretation in which the sentence, or every sentence in the set, comes out true. Thus implies D if every model of is a model of D, D is valid if every interpretation is a model of D, and is unsatisﬁable if no interpretation is a model of .
By the size of a model we mean the size of its domain. Thus a model is called ﬁnite, denumerable, or whatever, if its domain is ﬁnite, denumerable, or whatever. A set of sentences is said to have arbitrarily large ﬁnite models if for every positive integer m there is a positive integer n ≥ m such that the set has a model of size n. Already in the empty language, with identity but no nonlogical symbols, where an interpretation is just a domain, one can write down sentences that have models only of some ﬁxed ﬁnite size.
12.1 Example (A sentence with models only of a speciﬁed ﬁnite size). For each positive integer n there is a sentence In involving identity but no nonlogical symbols such that In will be true in an interpretation if and only if there are at least n distinct individuals in the domain of the interpretation. Then Jn = In+1 will be true if and only if there are at most n individuals, and Kn = In & Jn will be true if and only if there are exactly n individuals.
137
138 
MODELS 
There are actually several different sentences that could be used for In . A comparatively short one is the following:
x1 x2 · · · xn−1 xn (xn = x1 & xn = x2 & . . . & xn = xn−1).
Thus, for instance, I3 may be written x y z(z = x & z = y). For this to be true in an interpretation M, it must be the case that for every p in the domain, if we added a constant c denoting p, then y z(z = c & z = y) would be true. For that to be true, it must be the case that for every q in the domain, if we added a constant d denoting q, thenz(z = c & z = d) would be true. For that to be true, it must be the case that for some r in the domain, if we added a constant e denoting r, then e = c & e = d would be true. For that, e = c and e = d would both have to be true, and for that, e = c and e = d would both have to be untrue. For that, the denotation r of e must be different from the denotations p and q of c and d. So for every p and q in the domain, there is an r in the domain different from both of them. Starting from any m1 in the domain, and applying this last conclusion with p = q = m1, there must be an r, which we call m2, different from m1. Applying the conclusion again with p = m1 and q = m2, there must be an r, which we call m3, different from m1 and m2. So there are at least three distinct individuals m1, m2, m3 in the domain.
The set of all sentences In has only inﬁnite models, since the number of elements in any model must be ≥ n for each ﬁnite n. On the other hand, any ﬁnite subset 0 of has a ﬁnite model, and indeed a model of size n, where n is the largest number for which In is in . Can we ﬁnd an example of a ﬁnite set of sentences that has only inﬁnite models? If so, then we can in fact ﬁnd a single sentence that has only inﬁnite models, namely, the conjunction of all the sentences in the ﬁnite set. In fact, examples of single sentences that have only inﬁnite models are known.
12.2 Example (A sentence with only inﬁnite models). Let R be a twoplace predicate. Then the following sentence A has a denumerable model but no ﬁnite models:
x y Rx y & x y (Rx y & Ryx) & x y z((Rx y & Ryz) → Rx z).
A has a denumerable model in which the domain is the natural numbers and the interpretation of the predicate is the usual strict lessthan order relation on natural numbers. For every number there is one it is less than; no two numbers are less than each other; and if one number is less than a second and the second less than a third, then the ﬁrst is less than the third. So all three conjuncts of A are true in this interpretation.
Now suppose there were a ﬁnite model M of A. List the elements of M as m0, m1, . . . , mk−1, where k is the number of elements in M. Let n0 = m0. By the ﬁrst conjunct of A (that is, by the fact that this conjunct is true in the interpretation) there must be some n in M such that RM(n0, n). Let n1 be the ﬁrst element on the list for which this is the case. So we have RM(n0, n1). But by the second conjunct of A we do not have both RM(n0, n1) and RM(n1, n0), and so we do not have RM(n1, n0). It follows that n1 = n0. By the ﬁrst conjunct of A again there must be some n in M such that RM(n1, n). Let n2 be the ﬁrst element on the list for which this is the case, so we have RM(n1, n2). By the
12.1. THE SIZE AND NUMBER OF MODELS 
139 
third conjunct of A either RM(n0, n1) fails or RM(n1, n2) fails or RM(n0, n2) holds, and since we do not have either of the ﬁrst two disjuncts, we must have RM(n0, n2). But by the second conjunct of A, RM(n0, n2) and RM(n2, n0) don’t both hold, nor do both RM(n1, n2) and RM(n2, n1), so we have neither RM(n2, n0) nor RM(n2, n1). It follows that n2 = n0 and n2 = n1. Continuing in this way, we obtain n3 different from all of n0, n1, n2, then n4 different from all of n0, n1, n2, n3, and so on. But by the time we get to nk we will have exceeded the number of elements of M. This shows that our supposition that M is ﬁnite leads to a contradiction. Thus A has a denumerable but no ﬁnite models.
When we ask how many different models a sentence or set of sentences may have of a given size, the answer is disappointing: there are always an unlimited number (a nonenumerable inﬁnity) of models if there are any at all. To give a completely trivial example, consider the empty language, with identity but no nonlogical predicates, for which an interpretation is just a nonempty set to serve as domain. And consider the sentence x y(y = x), which says there is just one thing in the domain. For any object a you wish, the interpretation whose domain is {a}, the set whose only element is a, is a model of this sentence. So for each real number, or each point on the line, we get a model.
Of course, these models all ‘look alike’: each consists of just one thing, sitting there doing nothing, so to speak. The notion of isomorphism, which we are about to deﬁne, is a technically precise way of saying what is meant by ‘looking alike’ in the case of nontrivial languages. Two interpretations P and Q of the same language L are isomorphic if and only if there is a correspondence j between individuals p in the domain P and individuals q in the domain Q subject to certain conditions. (The deﬁnition of correspondence, or total, onetoone, onto function, has been given in the problems at the end of Chapter 1.) The further conditions are that for every nplace predicate R and all p1, . . . , pn in P we have
(I1) 
RP( p1, . . . , pn ) 
if and only if RQ ( j( p1), . . . , j( pn )) 
and for every constant c we have 


(I2) 

j(cP) = cQ. 
If function symbols are present, it is further required that for every nplace function symbol f and all p1, . . . , pn in P we have
(I3) 
j( f P( p1, . . . , pn )) = f Q( j( p1), . . . , j( pn )). 
12.3 Example (Inverse order and mirror arithmetic). Consider the language with a single twoplace predicate <, the interpretation with domain the natural numbers {0, 1, 2, 3, . . .} and with < denoting the usual strict lessthan order relation, and by contrast the interpretation with domain the nonpositive integers {0, −1, −2, −3, . . .} and with < denoting the usual strict greaterthan relation. The correspondence associating n with −n is an isomorphism, since m is less than n if and only if −m is greater than −n, as required by (I1).
140 MODELS
If we also let 0 denote zero, let denote the predecessor function, which takes x to x − 1, let + denote the addition function, and let · denote the function taking x and y to the negative of their product, −x y, then we obtain an interpretation isomorphic to the standard interpretation of the language of arithmetic. For the following equations show (I3) to be fulﬁlled:
−x − 1 = −(x + 1) (−x) + (−y) = −(x + y)
−(−x)(−y) = −x y.
Generalizing our completely trivial example, in the case of the empty language, where an interpretation is just a domain, two interpretations are isomorphic if and only if there is a correspondence between their domains (that is, if and only if they are equinumerous, as deﬁned in the problems at the end of Chapter 1). The analogous property for nonempty languages is stated in the next result.
12.4 Proposition. Let X and Y be sets, and suppose there is a correspondence j from X to Y . Then if Y is any interpretation with domain Y , there is an interpretation X with domain X such that X is isomorphic to Y. In particular, for any interpretation with a ﬁnite domain having n elements, there is an isomorphic interpretation with domain the set {0, 1, 2, . . . , n − 1}, while for any interpretation with a denumerable domain there is an isomorphic interpretation with domain the set {0, 1, 2, . . .} of natural numbers.
Proof: For each relation symbol R, let RX be the relation that holds for p1, . . . , pn in X if and only if RY holds for j( p1), . . . , j( pn ). This makes (I1) hold automatically. For each constant c, let cX be the unique p in X such that j( p) = cY. (There will be such a p because j is onto, and it will be unique because j is onetoone.) This makes (I2) hold automatically. If function symbols are present, for each function symbol f , let f X be the function on X whose value for p1, . . . , pn in X is the unique p such that j( p) = f Y( j( p1), . . . , j( pn )). This makes (I3) hold automatically.
The next result is a little more work. Together with the preceding, it implies what we hinted earlier, that a sentence or set of sentences has an unlimited number of models if it has any models at all: given one model, by the preceding proposition there will be an unlimited number of interpretations isomorphic to it, one for each set equinumerous with its domain. By the following result, these isomorphic interpretations will all be models of the given sentence or set of sentences.
12.5 Proposition (Isomorphism lemma). If there is an isomorphism between two interpretations P and Q of the same language L, then for every sentence A of L we have
(1) 
P = A if and only if Q = A. 
Proof: We ﬁrst consider the case where identity and function symbols are absent, and proceed by induction on complexity. First, for an atomic sentence involving a nonlogical predicate R and constants t1, . . . , tn , the atomic clause in the deﬁnition of
12.1. THE SIZE AND NUMBER OF MODELS 
141 

truth gives 









P = 
R(t 
, . . . , t 
n 
) 
if and only if 
RP tP 
, . . . , tP 


1 




1 
n 


Q = 
R(t 
, . . . , t 
n 
) 
if and only if 
RQ tQ, . . . , tQ 


1 




1 
n 


while the clause (I1) in the deﬁnition of isomorphism gives 


RP t1P, . . . , tnP 
if and only if RQ 
j t1P , . . . , j tnP 


and the clause (I2) in the deﬁnition of isomorphism gives 



RQ j t1P , . . . , j 
tnP 
if and only if 
RQ t1Q, . . . , tnQ . 

Together the four displayed equivalences give (1) for R(t1, . . . , tn ).
Second, suppose (1) holds for less complex sentences than F, including the sentence F. Then (1) for F is immediate from this assumption together with the negation clause in the deﬁnition of truth, by which we have
P = F 
if and only if 
not P = F 
Q = F 
if and only if 
not Q = F. 
The case of junctions is similar.
Third, suppose (1) holds for less complex sentences than x F(x), including sentences of the form F(c). For any element p of P, if we extend the language by adding a new constant c and extend the interpretation P so that c denotes p, then there is one and only one way to extend the interpretation Q so that j remains an isomorphism of the extended interpretations; namely, we extend the interpretation Q so that c denotes j( p), and therefore clause (I2) in the deﬁnition of isomorphism still holds for the extended language. By our assumption that (1) holds for F(c) it follows on the one hand that
(2) 
P = F[ p] if and only if Q = F[ j( p)]. 

By the universal quantiﬁer clause in the deﬁnition of truth 


P = x F(x) 
if and only if 
P = F[ p] for all p in P. 
Hence 




P = x F(x) 
if and only if 
Q = F[ j( p)] for all p in P. 
On the other hand, again by the universal quantiﬁer clause in the deﬁnition of truth we have
Q = x F(x) if and only if Q = F[q] for all q in Q.
But since j is a correspondence, and therefore is onto, every q in Q is of the form j( p), and (1) follows for x F(x). The existentialquantiﬁer case is similar.
If identity is present, we have to prove (1) also for atomic sentences involving =. That is, we have to prove
p1 = p2 if and only if j( p1) = j( p2).