Logic: A Study Guide: Chapters 1 To 7
Logic: A Study Guide: Chapters 1 To 7
Chapters 1 to 7
Preface iii
1 Introduction for philosophers 1
1.1 Why this Guide for philosophers? 1
1.2 But do you really need more logic? 1
1.3 Assumed background 2
1.4 How to prove it 3
2 Introduction for mathematicians 5
2.1 Why this Guide for mathematicians? 5
2.2 Assumed background 5
3 Using this Guide 7
3.1 Strategies for reading logic books 7
3.2 How this Guide is structured 8
3.3 Choices, choices 9
i
Preface
Before I retired from the University of Cambridge, it was my greatest good fortune
to have secure, decently paid, university posts for forty years in leisurely times, with
almost total freedom to follow my interests wherever they meandered. Like most of
my contemporaries, for much of that time I didn’t really appreciate how very lucky I
was. This Study Guide to logic textbooks is my attempt to give a little back by way
of heartfelt thanks.
The Guide is aimed at two main groups of readers – philosophers who want to go
on beyond their first introductory logic course to learn some more serious logic, and
mathematicians wanting to get to grips with an under-taught but exciting area of
mathematics. So there two separate introductory chapters written for the two kinds of
readers. But why not two separate Guides? Because it would be difficult to decide quite
what should go where. After all, a number of philosophers develop interests in more
mathematical corners of the broad field of logic. And a number of mathematicians find
themselves becoming interested in more foundational/conceptual issues. Rather than
impose artificial divisions, I provide here a single but wide-ranging menu for everyone
to choose from as their interests dictate. So . . .
Don’t be scared off by the Guide’s length! This is due both to its breadth of cover-
age and also to its starting just half a step beyond what is sometimes rudely called
‘baby logic’ and then going quite a long way down the road towards state-of-the-art
treatments. Different readers will therefore want to jump on and off the bus at different
stops. Simply choose the sections which are most relevant to your background and your
interests, and you will be able to cut the Guide down to very much more manageable
proportions. There’s a lot of signposting to enable you to pick your way through.
However, if you are hoping for help with very elementary logic (perhaps as encountered
by philosophers in their first formal logic courses), then let me say straight away that
this Guide is not designed for you. The only chapters that even briefly mention logic
at this level are the two Introductions. All the rest is about rather more advanced –
and eventually very much more advanced – material.
Most of the recommendations in this Guide point to published books. True, there are
quite a lot of on-line lecture-notes that university teachers have made available. Some of
these are excellent. However, they do tend to be terse, and often very terse (as entirely
befits material originally intended to support a lecture course). They are usually not
as helpful as fully-worked-out book-length treatments for students needing to teach
themselves.
So where can you find the books mentioned here? Well, they should in fact be held
by any large-enough university library which has been trying over the years to maintain
iii
iv Preface
core collections in mathematics and philosophy (and if the local library is too small,
books should be borrowable through some inter-library loans system).
Since it is assumed that you will by default be using library copies of books, I
have not made cost or being currently in print a significant consideration.
However, I have marked with one star* books that are available new or second-
hand at a reasonable price (or at least are unusually good value for the length
and/or importance of the book).
I have marked with two stars** those books for which e-copies are freely and
legally available, and links are provided.
Where articles or encyclopaedia entries have been recommended, these can
almost always be freely downloaded, again with links supplied.
We must pass over in silence the question of using a certain particularly well-known
and well-stocked copyright-infringing PDF repository. That is between you and your
conscience. I could not possibly comment . . .
This re-titled Guide expands and revises the mid 2020 edition of my much-downloaded
Teach Yourself Logic. Many thanks, then, to all those who have commented on different
versions of TYL over a decade: and as always, further comments and suggestions are
always gratefully received.
iv
1 Introduction for philosophers
1
1 Introduction for philosophers
2
How to prove it
However, if your initial logic course was based on some very elementary text book like
Sam Guttenplan’s The Languages of Logic, Howard Kahane’s Logic and Philosophy,
or Patrick Hurley’s Concise Introduction to Logic, then you might struggle with the
initial suggestions in the main part of the present Guide. But this will inevitably vary
a lot from person to person. So just make a start and see how things work out; if the
going gets too tough, backtrack to read one of the books like my own, skipping quickly
over what you already know.
(And if you have only done an ‘informal logic’ or ‘critical reasoning course’, then
you’ll very probably need to read a good introductory formal logic text before tackling
the more advanced topics covered in the body of this Guide.)
4. Joel David Hamkins, Proof and the Art of Mathematics* (MIT Press, 2020)
From the blurb: “This book offers an introduction to the art and craft of
proof-writing. The author . . . presents a series of engaging and compelling
mathematical statements with interesting elementary proofs. These proofs
capture a wide range of topics . . . The goal is to show students and aspiring
mathematicians how to write [informal!] proofs with elegance and precision.”
Not a conventional text. Attractively written (though perhaps a bit uneven in
level and tone). Readers without a mathematical background could well enjoy
this a lot, and will learn a good deal, e.g. about proofs by induction. Lots of
striking and memorable examples.
5. Daniel J. Velleman, How to Prove It: A Structured Approach* (CUP, 3rd edi-
tion, 2019). From the Preface: “Students . . . often have trouble the first time
that they’re asked to work seriously with mathematical proofs, because they
don’t know ‘the rules of the game’. What is expected of you if you are asked
to prove something? What distinguishes a correct proof from an incorrect
one? This book is intended to help students learn the answers to these ques-
tions by spelling out the underlying principles involved in the construction of
proofs.” A much more conventional text than Hamkins, with an established
3
1 Introduction for philosophers
4
2 Introduction for mathematicians
5
2 Introduction for mathematicians
continuity. And suppose you are entirely happy with proofs by induction. Then you
won’t strictly speaking need Velleman’s introduction (though it could do no harm to
speed-read the book, slowing down when you need to).
As with university-level algebra, geometry, topology, . . . , so too with logic: there
are books at all kinds of level, from very introductory ones aimed at near-beginning
undergraduates, to state-of-the-art monographs which only advanced graduate students
will be in a position to tackle. The main recommendations in this Guide, especially
in the earlier chapters, are at the easier end of the spectrum: but there should be
enough pointers to rather more advanced books suitable for readers with a significant
background in mathematics.
6
3 Using this Guide
This third preliminary chapter says something about how to use this Guide, and out-
lines the Guide’s overall structure.
In fact, I probably can’t stress this advice too much (which, in my experience, applies
equally to getting to grips with any new area of mathematics). This approach will
really help to reinforce and deepen understanding as you encounter and re-encounter
the same material at different levels, coming at it from somewhat different angles, with
different emphases.
Exaggerating only a little, there are many instructors who say ‘This is the textbook
we are using/here is my set of notes: take it or leave it’. But you will always gain from
looking at some overlapping texts. (When responding to student queries on a question-
and-answer internet site, I’m repeatedly struck by how much puzzlement would be
resolved by taking the occasional quick look outside the course textbook/lecturer’s
notes.) The multiple overlaps in coverage in the reading lists in later chapters, which
help make the Guide as long as it is, are therefore fully intended. They also mean
that you should always be able to find options that suit your degree of mathematical
competence.
To repeat: you will certainly miss a lot if you concentrate on just one text in a given
area, especially at the outset. Yes, do very carefully read one or two central texts,
chosing books at a level that works for you. But do also cultivate the crucial further
habit of judiciously skipping and skimming through a number of other works so that
you can build up a good overall picture of an area seen from various angles of approach.
(b) While we are talking about strategies for self-teaching, I should add a quick
remark on the question of doing exercises.
Mathematics is, as they say, not merely a spectator sport: so you should try some
of the exercises in the books as you read along, in order to check and reinforce com-
7
3 Using this Guide
prehension. On the other hand, don’t obsess about this, and do concentrate on the
exercises that look interesting and/or might deepen understanding. And note too that
some authors have the irritating(?) habit of burying quite important results among
the exercises, mixed in with routine homework. It is therefore always a good policy to
skim through the exercises in a book even if you don’t plan to work on answers to very
many of them.
Oddly – even in these days where books can have websites to support them – it
isn’t that common for logic texts to have very detailed worked solutions to exercises
available. I will try to highlight those authors who are more helpful than usual in this
respect.
Part I: Core Topics in Mathematical Logic starts with a chapter on ‘naive’ set
theory, about the concepts and constructions often taken for granted in quite
elementary mathematical writing about logic. Then there are chapters on clas-
sical first-order logic and a little introductory model theory. Next, we look at
formal arithmetic, the theory of computable functions, and proofs of epochal
results such as Gödel’s incompleteness theorems. There follows a chapter on
set theory proper – informal set theory, basic notions of cardinals and ordinals,
constructions of number systems in set theory, the role of the axiom of choice,
etc., and the formal axiomatization of ZFC. Finally in this Part, there is a
chapter on two variant logics which you should encounter at an early stage,
namely second-order logic and intuitionistic logic. Taken together, these chap-
ters survey the sort of ground covered by classic texts like Elliott Mendelson’s
Introduction to Mathematical Logic.
Part II: Other Logics looks at a range of logical systems likely to be of interest
to philosophers but perhaps of less direct concern for most mathematicians –
8
Choices, choices
for example, varieties of modal logics, plural logic, free logic, relevant logic (and
some wilder logics too).
Part III: Going Further in Mathematical Logic first picks up a central topic not
traditionally covered in the core curriculum, namely proof theory. And then it
goes on to offer suggestions for more advanced reading on the topics of Part
I, further exploring model theory, computability and formal arithmetics, and
set theory. There also pointers to some other topics. This part of the Guide is
for specialist graduate students (among philosophers) and for final year under-
graduate/beginning graduate students (among mathematicians).
The Guide divides up the broad field of logic in a pretty conventional way: but of
course, even these ‘horizontal’ divisions into different subfields can in places be a little
arbitrary. And the ‘vertical’ division between the entry-level coverage in Part I and
the further explorations of the same areas in Part III is necessarily going to be a lot
more arbitrary. Everyone will agree (at least in retrospect!) that e.g. the elementary
theory of ordinals and cardinals belongs to the basics of set theory, while explorations
of ‘large cardinals’ or independence proofs via forcing are decidedly advanced. But in
most areas, there are fewer natural demarcation lines between the entry-level basics and
more advanced work. Still, it is surely very much better to have some such structuring
than to heap everything together. And I hope the vertical divisions between Parts I
and III will help to make the size of this Guide seem less daunting.
The structure of chapters At least in Parts I and II, each chapter starts with
either a checklist or a more expansive overview of its topic(s). Overviews are
pitched at a very introductory level and can certainly be skipped; they are there
to provide some helpful preliminary orientation for those who might welcome
it.
Next follows the main recommended texts for the chapter’s topic(s), put
into what strike me as a sensible reading order. I then list some suggestions
for parallel/additional reading. Finally, since it is always quite illuminating to
know just a little of the background, I usually give some brisk references for
the topic’s history.
One comment. Earlier versions of the precursor to this Guide used also to have a sub-
stantial final part considering some of ‘The Big Books on mathematical logic’ (meaning
typically broader-focus books that cover first-order logic together with one or more sub-
fields from the further menu of mathematical logic). These books vary a lot in level and
coverage, and topic-by-topic are rarely to be preferred to more focused books. However,
they can provide very useful consolidating/amplifying reading. This old supplement to
the main body of the Guide is now available online as a separate Appendix which I
hope to continue adding to. Alternatively, for individual webpages on those texts and
a number of additional reviews, visit the Logic Matters Book Notes.
myself, I do particularly like books that are good on conceptual details and good at
explaining the motivation for the technicalities while avoiding needless complications,
excessive hacking through routine detail, or misplaced ‘rigour’. Given the choice, I tend
to prefer a treatment that doesn’t rush too fast to become too general, too abstract,
and thereby obscures intuitive motivation: this is surely what we want in books to be
used for self-study. (There’s a certain tradition of masochism in older maths writing, of
going for brusque formal abstraction from the outset with little by way of explanatory
chat: this is quite unnecessary in other areas, and just because logic is all about formal
theories, that doesn’t make it any more necessary here.)
The selection of books in the following chapters no doubt reflects these tastes. But
overall, I don’t think that I have been very idiosyncratic: indeed, in many respects I have
probably been rather conservative in my choices. So nearly all the books I recommend
will very widely be agreed to have significant virtues (even if other logicians would
have different preference-orderings).
Finally, the earliest versions of this Guide kept largely to positive recommendations: I
didn’t pause to explain the reasons for the then absence of some well-known books. This
was partly due to considerations of length which have now quite gone by the wayside;
but also I wanted to keep the tone enthusiastic, rather than to start criticizing or
carping.
However, enough people kept asking what I think about some alternative X, or
asking why the old warhorse Y wasn’t mentioned, for me to change my mind. So
I have just occasionally added some reasons why I don’t particularly recommended
certain books.
10
Part I
Notation, concepts and constructions from basic set theory are often presupposed even
in elementary texts on logic – including some of the texts mentioned in the next three
chapters, before we get round to officially studying set theory itself in Chapter ??. So
let’s note here what you should know about sets at the outset. It isn’t much! And for
now, we can proceed informally, and will just assume that the various sets we talk
about do exist, that various constructions are permitted, etc. Later, we will see how to
put the needed low-level principles on a firmer theoretic footing.
(iv) Sets are unordered. Because they have the same members, {1, 2, 3, 4} counts as
the same set as {4, 1, 3, 2}. But we often need to work with ordered pairs, ordered
triples, ordered quadruples, . . . , tuples more generally.
We use ‘ha, bi’ – or often simply ‘(a, b)’ – for the ordered pair, first a, then b.
So, while {a, b} = {b, a}, by contrast ha, bi 6= hb, ai.
Once we have ordered pairs available, we can use them to define ordered triples:
ha, b, ci can be defined as first the pair ha, bi, then c, i.e. as hha, bi, ci. Then the
quadruple ha, b, c, di can be defined as hha, b, ci, di. And so it goes.
To deal with tuples, then, it is enough just to have ordered pairs available.
And we can define ordered pairs using unordered sets in various ways: all we
need is some definition for ordered pairs which ensures that ha, bi = ha0 , b0 i if
and only if a = a0 . This works and is standard: ha, bi =def {{a}, {a, b}}.
(v) The Cartesian product A × B of the sets A and B is the set whose members
are all the ordered pairs whose first member is in A and whose second member
is in B. In an obvious notation, A × B is {hx, yi | x ∈ A & y ∈ B}. Cartesian
products of n sets are defined as sets of n-tuples, again in the obvious way.
(vi) If R is a binary relation between members of A and members of B, then its
extension is the set of ordered pairs hx, yi (with x ∈ A and y ∈ B) such that x
is R to y. So the extension of R is a subset of A × B.
The extension of an n-place relation is the set of n-tuples of things which stand
in that relation. In the unary case, where P is a property defined over some set
A, then the extension of P is the set of members of A which are P .
For certain purposes, we might want to individuate properties (relations) in
a fine-grained way, so that distinct properties (relations) can have the same ex-
tension. But in mathematics, we usually treat them extensionally; i.e. we regard
properties with the same extension as being the same property, and regard rela-
tions with the same extension as being the same relation. Indeed, where possible,
it is conventional to simply treat a property (relation) as if it is its extension.
(vii) The extension (or graph) of a unary function f which sends members of A
to members of B is the set of ordered pairs hx, yi (with x ∈ A and x ∈ B)
such that f (x) = y. So the extension of f is the same set as the extension of
the corresponding relation R such that Rxy if and only if f (x) = y. Similarly
for many-place functions. We usually treat functions extensionally, regarding
functions with the same extension as the same. Indeed, it is again conventional
to identify a function with its extension.
(viii) Relations can, for example, be reflexive, symmetric, transitive, etc. Functions can
be injective, surjective, bijective, etc. Those are familiar pre-set-theoretic ideas.
When we officially identify relations and functions with their extensions, these
various features become corresponding features of the sets which are extensions.
(ix) Two sets are equinumerous just if we can match up their members one-to-one,
i.e. when there is a one-to-one function, a bijection, between the sets. A set is
countably infinite if and only if it is equinumerous with the natural numbers.
Cantor’s Theorem tells us that a set is never equinumerous with its powerset
– in a sharply defined sense, the powerset of A must be bigger than A. So the
natural numbers, the powerset of the natural numbers, the powerset of that, etc.,
all have different, ever larger, infinite sizes.
(x) There’s one more, rather less elementary, idea that you should perhaps also meet
sooner rather than later, so that you recognize passing references to it. This is
13
4 A little informal set theory
the Axiom of Choice. In one version, this says that, given an infinite family of
sets, there is a function which ‘chooses’ one member from each set in the family.
Note that while other principles for forming new sets (e.g. unions, powersets)
determine what the members of the new set are, Choice just tells us that there
is a set (the extension of the choice function) which plays a certain role, without
pinning down its members. At this stage you basically just need to know that
Choice is a principle which is implicitly or explicitly invoked in many mathe-
matical proofs. But you should also know that it is independent of other basic
set-theoretic principles (and there are set theories in which it doesn’t hold) –
which is why we often explicitly note when, in more advanced logical theory, a
result does indeed depend on Choice.
(b) An important observation before proceeding. You’ve very probably met Russell’s
Paradox. Say a set is normal if it isn’t a member of itself. The set of musketeers
{Athos, Porthos, Aramis} is evidently not a member of itself; nor is the set {1, 2, 3};
the set of prime numbers isn’t a prime, so isn’t a member of itself; these are normal
sets. Now ask: is there a Russell set R whose members are all and only the normal
sets? No. For if there were, it would be a member of itself if and only if wasn’t – think
about it! – which is impossible. The putative set R is, in some sense, ‘too big’. Hence,
if we naively suppose that for any property (including the property of being a normal
set) there is a set which is its extension, we get into deep trouble.
Here we need to avoid tripping over one of those annoying terminological divergences.
Some people use ‘naive set theory’ to mean, specifically, a theory which makes that
naive assumption that any property has an extension. As we’ve just seen, naive set
theory in this sense is inconsistent. Many others, however, use ‘naive set theory’ to
mean set theory developed informally, without rigorous axiomatization, but guided by
safe-looking low-level principles. In this second sense, we have been proceeding naively,
but let’s hope we are still on track for a consistent story! Thus, we were careful in (vi)
to assign extensions just to those properties that are defined over domains we already
know to be kosher sets. True, our story so far is silent about exactly which sets are the
kosher ones – i.e. not ‘too big’ to be to be problematic. However, important though
this is, we can leave this topic until Chapter ??. Low-level practical uses of sets in
‘ordinary’ mathematics seem remote from such problems, so we hopefully can safely
proceed informally for now.
(c) Another quick observation. I said it is conventional for mathematicians to iden-
tify properties and relations with their extensions, and identify functions with their
extensions. But being conventional doesn’t mean being right! Tim Button makes some
salient points in §3.2 of the book I’m about to recommend. He notes for a start that,
since we can implement ordered tuples in various ways, there are various ways of defin-
ing extensions, equally as good as each other: hence no one way can be used to tell
us what relations or functions ‘really’ are. So a bit of care is required here in how we
interpret talk about ‘identifying’ relations/functions as sets.
14
Virtual classes, real sets
1. Tim Button, Set Theory: An Open Introduction (Open Logic Project), Chap-
ters 1–5. Read Chapter 1 for some interesting background. Chapter 2 intro-
duces basic notions like subsets, powersets, unions, intersections, pairs, tuples,
Cartesian products. Chapter 3 is on relations (treated as sets). Chapter 4 is
on functions. Chapter 5 is on the size of sets, countable vs uncountable sets,
Cantor’s Theorem. At this stage in his book, Button is proceeding naively in
our second sense, with the promise that everything he does can be replicated
in the rigorously axiomatized theory he introduces later.
Button writes, here as elsewhere, with very admirable clarity. So this is
warmly recommended. He does eventually get round to the Axiom of Choice
in his Chapter 16; but the treatment there depends on the set theory developed
in the intervening chapters, so isn’t appropriate for us just now. Instead, the
following two pages should be enough for the present:
2. Tim Gowers et al. eds, The Princeton Companion to Mathematics (Princeton
UP, 2008), §III.1: The Axiom of Choice.
We return to set theory in Chapter ??. But let me mention two other possible things
to read in advance. First, there is an old but much used text:
3. Paul Halmos, Naive Set Theory* (1960: republished by Martino Fine Books,
2011).
The purpose of this famous book, Halmos says in his Preface, is “to tell the beginning
student . . . the basic set-theoretic facts of life, and to do so with the minimum of
philosophical discourse and logical formalism”. Again he is proceeding naively in our
second sense. True he tells us about some official axioms as he goes along, but he doesn’t
explore the development of set theory inside a resulting formal theory: this is informally
written in an unusually conversational style for a maths book, concentrating on the
motivation for various concepts and constructions. This is all done very approachably.
You could read the first fifteen – very short – chapters now, leaving the rest for later.
And it is well worth looking at this famous discussion:
4. Bertrand Russell, An Introduction to Mathematical Philosophy** (1919), Chap-
ter XII, ‘Selections and the Multiplicative Axiom’.
The ‘Multiplicative Axiom’ is Russell’s name for a version of the Axiom of Choice. In
fact, the whole of Russell’s lovely book is still a wonderful read if you have any interest
in the foundations of mathematics!
which makes every member of Γ true makes ϕ true too”. Don’t worry for now about
the talk of structures: just note that the reference to a set of formulas is doing no work
here. It would do just as well to say “Some formulas G (whether they are zero, one or
many) logically entail ϕ if and only if every structure which makes all of those formulas
G true makes ϕ true too”.
When it can be paraphrased away like this, talk of sets is just talk of virtual sets –
or rather, in the more conventional idiom, it’s talk of of virtual classes.
One source for this conventional usage is W.V.O. Quine’s famous discussion in the
opening chapter of his Set Theory and its Logic (1963):
Much . . . of what is commonly said of classes with the help of ‘∈’ can be
accounted for as a mere manner of speaking, involving no real reference to
classes nor any irreducible use of ‘∈’. . . . [T]his part of class theory . . . I
call the virtual theory of classes.
You will find that this same usage plays an important role in set theory in some
treatments of so-called ‘proper classes’ as distinguished from sets. For example, in his
standard book Set Theory (1980), Kenneth Kunen writes
Formally, proper classes do not exist, an expressions involving them must
be thought of as abbreviations for expressions not involving them.
And here is Paul Finsler, writing much earlier in 1926 (as quoted by Luca Incurvati,
in his Conceptions of Set):
It would surely be inconvenient if one always had to speak of many things
in the plural; it is much more convenient to use the singular and speak of
them as a class. . . . A class of things is understood as being the things
themselves, while the set which contains them as its elements is a single
thing, in general distinct from the things comprising it. . . . Thus a set is
a genuine, individual entity. By contrast, a class is singular only by virtue
of linguistic usage; in actuality, it almost always signifies a plurality.
Finsler writes ‘almost always’, I take it, because a class term may in fact denote just
one thing, or even – perhaps by misadventure – none.
Nothing really hangs, of course, on the particular terminology here, ‘classes’ vs
‘sets’. What matters is the distinction between non-committal, eliminable, talk – talk
of merely virtual sets/classes/pluralities (whatever we call them) – and uneliminable
talk of sets as entities in their own right.
Now this certainly isn’t the place to start discussing exactly where and why, as we
get into the serious study of logic, we do get ineliminably entangled with sets as genuine
entities. I am just flagging up that, at least when starting out on logic, you can take a
lot of set talk just as a non-committal light-weight idiom, simply there to conveniently
enable us to talk in the singular about many things at once.
16
5 First-order logic
So, let’s get down to business! This chapter starts with a quick overview of the topics
we will be treating as belonging to the basics of first-order logic (or predicate logic,
quantificational logic, call it what you will: I’ll use ‘FOL’ for short). At this level,
the most obvious difference between various treatments of FOL is in the choice of
proof-system: I pause to comment on this in more detail. Then I highlight the main
book recommendations. These are followed by some suggestions for parallel and further
reading. After a historical aside, the chapter ends with some additional comments,
mostly responding to frequently asked questions.
A note to philosophers. If you have carefully read and mastered a substantial in-
troductory logic text for philosophers such as Nick Smith’s, or even my own, you will
already be familiar with (versions of) a significant amount of the material covered in
this chapter. However, the big change is that you will now begin to see topics being
re-presented in the sort of mathematical style and with the sort of rigorous detail that
you will necessarily encounter more and more as you progress in logic. You do need to
start feeling entirely comfortable with this mode of presentation at an early stage. So
it is worth working through familiar topics again, this time with more mathematical
precision.
17
5 First-order logic
18
FOL: an overview
5. Sequent calculi.
We will say more about the first three of these in the next section. But specific versions
of the various proof systems for ‘classical’ propositional logic will be equivalent – mean-
ing that, given some premisses, we can warrant the same conclusions in each system.
However, they do differ considerably in their intuitive appeal and user-friendliness, as
well as in some of their more technical features.1 Note, though: apart from some key il-
lustrative examples, we won’t be much interested in producing lots of derivations inside
a chosen proof system; the focus will be on establishing results about the systems.
Fitch-style proofs and truth trees are easiest for beginners to manipulate in order
to produce working formal derivations – which is why the majority of elementary
logic books for philosophers introduce one or other (or both) systems. But, as we will
see, mathematical logic text books at the next level of sophistication usually focus
on the first two types of system, i.e. on axiomatic systems and Gentzen-style natural
deduction. True, axiomatic systems in their raw state can initially be pretty horrible
to use – but proofs can be expedited once you learn some basic dodges (like the use
of the so-called ‘Deduction Theorem’). Gentzen-style proofs are by comparison very
elegant, though they still take some getting used to compared to Fitch-style proofs (in
one important way, the latter stick rather closer to informal patterns of reasoning).
Finally, the sequent calculus (in the most interesting form) really comes into its own
in more advanced work on so-called proof theory.
At some point, the educated logician will want to learn something about all these
proof styles – at the very least, you should get a general sense of how they respectively
work, and come to appreciate the interrelations between them.
(a.iv) We now have two quite different ways of defining what’s a deductively good
argument in propositional logic. We said that a set of premisses Γ semantically entails
a conclusion ϕ if every possible valuation which makes Γ all true makes ϕ true. We
can now say that Γ yields the conclusion ϕ in the proof-system S if there is an S-
type derivation of the conclusion ϕ from premisses in Γ. Of course, we want these two
approaches to fit together. We want our favoured proof-system S to be sound – it
shouldn’t give false positives. In other words, if there is an S-derivation of ϕ from Γ,
then ϕ really is semantically entailed by Γ. We also want our favoured proof-system S
to be complete – we want it to capture all the correct semantic entailment claims. In
other words, if ϕ is semantically entailed by the set of premisses Γ, then there is indeed
some S-derivation of ϕ from premisses in Γ.
So we will want proofs of soundness and completeness for our favoured proof-system
S. But these results will hold no terrors! However, in establishing soundness and com-
pleteness for propositional logics we can encounter useful strategies which can later be
beefed-up to give us soundness and completeness results for stronger logics.
(b.i) Now for full FOL (predicate logic, quantificational logic). Again, syntax first.
And a story needs to be told in particular about why the syntax of the ‘quanti-
fier/variable’ expressions of generality in formal logic is significantly different from
the syntax of ‘every’ or ‘some’ in ordinary language. There are also some important
1 Even once you’ve picked your favoured general type of proof-system to work with, there are
more choices to be made. Francis Jeffry Pelletier and Allen Hazen published an interesting
survey of logic texts aimed at philosophers using natural deduction. They noted that thirty
texts used a variety of Fitch-style system; and remarkably no two of these have exactly the
same system of rules for FOL! Even at the level of propositional logic there are notable
divergences.
19
5 First-order logic
decisions to be made about allowing the use of so-called ‘free variables’ and/or the use
of ‘dummy names’ or ‘parameters’ in the language.
(b.ii) Turning to semantics: the first key idea we need is that of a structure (a domain
of objects equipped with some properties, relations and/or functions). And, crucially,
you need to grasp the idea of an interpretation of a language in such a structure; you’ll
need to understand how such an interpretation generates a unique valuation (a unique
assignment of truth-values) for any sentence of the interpreted language. This gives
us the idea of a model for a set of sentences, an interpretation which makes all the
sentences true together. A proper formal semantic story with the bells and whistles
needed to cope with quantifiers is non-trivial.
With these semantic ideas to hand, you can again define a relation of semantic
entailment, now for FOL expressions. The se of FOL sentences Γ semantically entails
ϕ when no interpretation in any appropriate structure can make all the sentences Γ
true without making ϕ true too. Or to put it another way, any model for Γ is a model
for ϕ. You’ll again need to know some of the basic properties of this entailment relation.
(b.iii) Next, we will want to explore a proof system for FOL. Corresponding to the
five basic types of system we mentioned for propositional logic, you can again encounter
five different types of proof system, with their varying attractions. To repeat, you’ll
want at some point to find out about all these different styles of proof: but we will
start by looking at axiomatic systems and one flavour of natural deduction.
(b.iv) As with propositional logic, we will want soundness and completeness proofs
which show that our chosen proof systems for FOL don’t overshoot (giving us false
positives) or undershoot (leaving us unable to derive some semantically valid entail-
ments). And it is at this point, it might well be said, that the study of FOL becomes
really interesting: in particular, the proof of completeness – showing that, if Γ seman-
tically entails ϕ, then we can derive ϕ from premisses in Γ in our chosen proof system
– involves more sophisticated ideas than anything we have met before. So we will take
this as our target in an initial treatment of FOL.
The completeness proof has important immediate corollaries, as we will see when we
move on to discussing so-called ‘model theory’ in the next chapter. But for the purposes
of this Guide, we need to take a break between FOL and model theory somewhere, and
the point at which the completeness theorem is established is as good a place as any.
20
A little more about proof styles
require that each step (other than a given premiss or a logical axiom) always following
from what’s gone before. We often step sideways (so to speak) to make some new
temporary assumption ‘for the sake of argument’. For example, we may say ‘Now
suppose that P is true’; we go on to show that, given what we’ve already established,
our supposition leads to a contradiction; we then drop or ‘discharge’ the temporary
supposition and conclude that not-P . That’s how a reductio ad absurdum argument
works. For another example, we may again say ‘Suppose that P is true’; we go on
to show that we can now derive Q; we then discharge the temporary supposition and
conclude that if P, then Q. That’s how we often argue for a conditional proposition.
A natural deduction system of logic, then, aims to formalize patterns of reasoning
now including indirect arguments, where we can argue by making and then later dis-
charging temporary assumptions. We will need some way of keeping track of which
temporary assumptions are in play and for how long. Two non-linear styles of layout
are popular. Gerhard Gentzen (in his doctoral thesis of 1933) introduced trees. And a
multi-column layout was later popularized by Frederick Fitch in his classic 1952 logic
text, Symbolic Logic: an Introduction.
(b) Let’s have some very quick illustrations, starting with an example of an axiomatic
system for propositional logic. In this system M , to be found e.g. in Mendelson’s classic
Introduction to Mathematical Logic, the only propositional connectives built into the
basic language of the theory are ‘→’ and ‘¬’ (for ‘if ... then ...’ and ‘not’). The axioms
are then all sentences of the language which are instances of the following schemas
(so you get an axiom by systematically replacing the schematic letters A, B, C with
sentences – possibly quite complex ones – from our formal propositional language):
Ax1. (A → (B → A))
Ax2. ((A → (B → C)) → ((A → B) → (A → C)))
Ax3. ((¬B → ¬A) → ((¬B → A) → B))
M ’s one and only rule of inference is modus ponens (MP), which is the rule: from A
and (A → C) you can infer C.
Now, the inference from the premisses (P → Q) and (Q → R) to the conclusion
(P → R) is intuitively valid, given the meaning of ‘→’ (whatever P, Q, R say). Let’s
show that we can derive that conclusion from the premisses in M :
1. (P → Q) premiss
2. (Q → R) premiss
3. ((Q → R) → (P → (Q → R))) instance of Ax1
4. (P → (Q → R)) from 2, 3 by MP
5. ((P → (Q → R) → ((P → Q) → (P → R))) instance of Ax2
6. ((P → Q) → (P → R)) from 4, 5 by MP
7. (P → R) from 1, 6 by MP
1. (P → (Q → R)) premiss
which, if you look at it very hard and count brackets, can be seen to be an instance of
the axiom schema Ax1.
Even with that hint, however, it isn’t in the slightest bit obvious how actually to
complete the proof! And this is rather typical of axiomatic systems (at least in their
purest form): finding proofs even of simple results can be decidably unpleasant, though
we can mitigate the pain.
And in the case of Mendelson’s system, things aren’t helped either by only having the
two connectives → and ¬ built in. For this means that M can only handle expressions
involving (say) ∧ – i.e. and – by treating these as shorthand for expressions using the
two original connectives. So Mendelson treats an expression of the form (A ∧ B) as
short for the corresponding ¬(A → ¬B). This means, for example, that the trivial
inference from (P ∧ Q) to P requires a quite unobvious derivation using negation and
the conditional. Very unnatural!
(c) Now let’s look at the same two derivations as done in a natural deduction system.
Arguing informally for a moment, how would we show that given (P → Q) and (Q → R),
we can infer (P → R)? Well, starting from those two premisses, let’s suppose for the
sake of argument that in addition P is in fact true. Modus ponens using the first premiss
gives us Q. From that and the second premiss, another modus ponens inference give
us R. So, yes, supposing P, we can derive R. Hence, dropping the supposition, if P is
true then R is, i.e. (P → R).
Now let’s formalize this mode of arguing. A standard natural deduction system for
propositional logic will have no logical axioms but – unlike Mendelson’s M – will have
many rules of inference (including e.g. rules for ∧). In particular, in addition to the
modus ponens rule (MP) for the conditional, it has a rule of conditional proof (CP)
which tells us that if we have a proof from the temporary assumption A to the interim
conclusion C, then we can drop that assumption and infer (A → C). So first setting
things out in Fitch-style, here’s a formal derivation corresponding to our informal
argument:
1. (P → Q) premiss
2. (Q → R) premiss
3. P supposition
4. Q from 3, 1 by MP
5. R from 4, 2 by MP
6. (P → R) from the subproof from 3 to 5, by CP
Here, we draw a horizontal line under our initial premisses. And when we make a
new temporary supposition, we indent the line of argument to the right, using another
vertical line to mark the new column, and another short horizontal line under the new
supposition. When we come to the end of a subproof headed by a supposition, we finish
the current column, and move the line of argument back a column to the left. In this
case, the little subproof from lines 3 to 5 shows that the supposition P (given the initial
premisses) implies R. And then after line 5 we drop that supposition – we discharge it
– signalling this by moving back a column, and we derive (P → R).
22
A little more about proof styles
Rather neat and natural. OK, so let’s tackle the inference from (P → (Q → R)) to
the conclusion (Q → (P → R)). Setting the argument out in Fitch-style, we can reason
like this:
1. (P → (Q → R)) premiss
2. Q supposition
3. P supposition
4. (Q → R) from 3, 1 by MP
5. R from 2, 4 by MP
6. (P → R) by the subproof from 3 to 5, by CP
7. (Q → (P → R)) by the subproof from 2 to 6, by CP
The layout ought to make it very clear what is going on here. Given our initial premiss,
we first suppose Q for the sake of argument (indenting the line of argument to signal
that that’s what we are doing) Then, with that supposition still in play, we also suppose
P (new supposition, new indentation). A couple of applications of modus ponens then
allow us to infer R. So, given that the supposition P implies R we can now drop that
supposition and – moving back one column – infer (P → R) by CP. But this interim
conclusion still depends on the supposition Q which remains in play. However, we can
now cease to make that supposition too, and – moving back to the main column of
argument – infer (Q → (P → R)) by CP again. Again, pretty neat and natural.
(d) However, nice and easy-to-understand though Fitch-style proofs are – which is
why introductory texts for philosophers like them! – mathematical logic texts which
use a natural deduction system usually prefer to set out the proofs in the form of trees,
in Gentzen’s original style.
For the simplest sort of example, take first the two-step argument from the three
premisses P, (P → Q) and (Q → R) to the conclusion R. Set out in tree style this is
rendered
P (P → Q)
Q (Q → R)
R
with the horizontal line each time indicating that the sentence below the line is inferred
from those immediately above it (so we now don’t need any commentary to tell us which
earlier lines an inference step is derived from – we can read that off simply from the
geometry of the proof). A sentence without a horizontal line above it is a premiss.
And how are suppositional inferences – as in our first Fitch-style proof – to be
displayed in this type of tree layout?
Well, in the last displayed proof, instead of treating the assumption P as a fixed pre-
miss, we can potentially regard it as a temporary supposition for the current conclusion
R, a supposition waiting to be discharged in a CP inference. So let’s indeed discharge
this assumption – and we’ll write square brackets round a discharged assumption at
the top of a branch of the argument. Taking that step gives us:
[P] (P → Q)
Q (Q → R)
R
(P → R)
23
5 First-order logic
And now just the unbracketed sentences at the tips of branches are left as ‘live’ as-
sumptions. So this is our Gentzen-style proof from the premisses (P → Q) and (Q → R)
to the conclusion (P → R).
To show the same idea in play again, here is the derivation from (P → (Q → R))
to (Q → (P → R)) which we previously did in Fitch style, now set out in Gentzen
style. To make things clear, I’ll grow the proof in stages. So we start by showing
that (P → (Q → R)), along with the temporary-assumptions-waiting-to-be-discharged
P and Q, together entail R.
P (P → (Q → R))
Q (Q → R)
R
We start with two of the premisses at the top. At the second line, we introduce a new
premiss on the left, and draw a conclusion by modus ponens from the sentences above
on the right. The final line is derived, of course, by another modus ponens.
Now we can discharge the assumption P and apply CP:
[P](1) (P → (Q → R))
Q (Q → R)
R (1)
(P → R)
Here, for extra clarity, we label by (1) both the assumption which is discharged and
the corresponding inference line where the discharging takes place. And then we can
use CP again and discharge another assumption labelled (2) to get
[P](1) (P → (Q → R))
(2)
[Q] (Q → R)
R (1)
(P → R)
(2)
(Q → (P → R))
So, as we wanted, we have just the one live, undischarged, premiss remaining, and the
desired conclusion at the bottom of the proof-tree. This is very elegant, with the layout
showing clearly revealing what depends on what. But perhaps it does take a little more
practice to ‘read’ a Gentzen tree proof than a Fitch-style proof (and more practice to
construct one too).
And that is perhaps enough by way of a first look at axiomatic vs natural deduction
systems. Now for reading suggestions!
24
The main recommendations on FOL
1. Ian Chiswell and Wilfrid Hodges, Mathematical Logic (OUP 2007). This nicely
written text is very approachable. It is written by mathematicians primarily
for mathematicians. However, it is only one notch up in actual difficulty from
some introductory texts for philosophers like mine or Nick Smith’s, though –
as its title might suggest – it does have a notably more mathematical ‘look
and feel’. It should in fact be entirely manageable for self study by philoso-
phers and mathematicians alike (philosophers can skip over a few of the more
mathematical illustrations).
The briefest headline news is that authors explore a Gentzen-style natu-
ral deduction system. But by building things up in three stages – so after
propositional logic, they consider an important fragment of first-order logic
before turning to the full-strength version – they make e.g. proofs of the com-
pleteness theorem for first-order logic unusually comprehensible. For a more
detailed description see my book note on C&H.
Very warmly recommended, then. For the moment, you only need read up
to and including §7.7 (under two hundred pages). But having got that far,
you might as well read the final couple of sections and the Postlude too! The
book has brisk solutions to some of the exercises. (A demerit mark, though,
to OUP for not publishing C&H more cheaply.)
For additional motivation for the quantifier/variable notation, see Chapters 26–28 of
Peter Smith, Introduction to Formal Logic** (2nd edn. downloadable from www.logicmatters.net/ifl).
For more explanation of the Gentzen-style proof system treated perhaps just a little
quickly by C&H, see Chapter 9, ‘Natural Deduction’ of Richard Zach et al., Sets, Logic,
25
5 First-order logic
Supplement Goldrei with a brief glance at a natural deduction proof system, e.g. again
as in Sets, Logic, Computation Ch. 9.
These three main recommended books, by the way, have all had very positive reports
over the years from student users.
26
Some parallel/additional reading
from at least a quick browse of his Part II to pick up the headline news about
the various approaches.
Bostock eventually touches on issues of philosophical interest such as free
logic which are not often dealt with in other books at this level. Still, the discus-
sions mostly remain at much the same level of conceptual/mathematical diffi-
culty as e.g. my own introductory book. He proves completeness for tableaux
in particular, which I always think makes the needed construction seem par-
ticularly natural. Intermediate Logic should therefore be, as intended, partic-
ularly accessible to philosophers who haven’t done much formal logic before
and should, if read in parallel, help ease the transition to coping with the more
mathematical style of the books recommended in the last section.
To repeat, unlike our main recommendations, Bostock does discusses tableaux (‘truth
trees’). If you are a philosopher, you may well have already encountered them in your
introductory logic course. If not, here’s my short and painless introduction to trees for
propositional logic which will also give you the basic idea: Peter Smith, Propositional
Truth Trees.
Next, even though it is giving a second bite to an author we’ve already met, I must
mention a rather different discussion of FOL:
5. Wilfrid Hodges, ‘Elementary Predicate Logic’, in the Handbook of Philosoph-
ical Logic, Vol. 1, ed. by D. Gabbay and F. Guenthner, (Kluwer 2nd edition
2001). This is a slightly expanded version of the essay in the first edition of
the Handbook (read that earlier version if this one isn’t available), and is writ-
ten with Hodges’s usual enviable clarity and verve. As befits an essay aimed
at philosophically minded logicians, it is full of conceptual insights, historical
asides, comparisons of different ways of doing things, etc., so it very nicely com-
plements the more conventional textbook presentations of C&H, L&K and/or
Goldrei.
Read at this stage the very illuminating first twenty short sections.
Now, as a follow up to C&H, I recommended L&K’s A Friendly Introduction which
uses an axiomatic system. As an alternative, here is an older and in its day much used
text which should certainly be very widely available:
6. Herbert Enderton, A Mathematical Introduction to Logic (Academic Press
1972, 2002). This also focuses on a Hilbert-style axiomatic system, and is often
regarded as a classic of exposition. However, it does strike me as somewhat
more difficult than L&K, so I’m not surprised that students often report find-
ing it a bit challenging if used by itself as a first text. Still, it is an admirable
and very reliable piece of work which you should be able to cope with well if
used as a supplementary second text, e.g. after you have tackled C&H.
Read up to and including §2.5 or §2.6 at this stage. Later, you can finish
the rest of that chapter to take you a bit further into model theory. For more
about this classic, see this book note.
I’ll also mention – though this time with a little hesitation – another much used
text which has gone through multiple editions and should also be in any library; it is
a useful natural-deduction based alternative to C&H. Later chapters of this book are
also mentioned later in this Guide as possible reading for more advanced work, so it
could be worth making early acquaintance with . . .
7. Dirk van Dalen, Logic and Structure (Springer, 1980; 5th edition 2012). The
early chapters up to and including §3.2 provide an introduction to FOL via
27
5 First-order logic
As anyone who has tried to work inside an axiomatic system knows, proof-
discovery for such systems is often hard. Which axiom schema should we in-
stantiate with which wffs at any given stage of a proof? Natural deduction
systems are nicer. But since we can, in effect, make any new temporary as-
sumption we like at any stage in a proof, again we still need to keep our wits
about us if we are to avoid going off on useless diversions. By contrast, tableau
proofs (a.k.a. tree proofs) can pretty much write themselves even for quite
complex FOL arguments, which is why I used to introduce formal proofs to
students that way (in teaching tableaux, we can largely separate the business
of getting across the idea of formality from the task of teaching heuristics
of proof-discovery). And because tableau proofs very often write themselves,
they are also good for automated theorem proving. Fitting explores both the
tableau method and the related so-called resolution method – yes, a sixth style
of proof! – in this extremely clearly written book.
This book’s approach is, then, rather different from most of the other rec-
ommended books (except perhaps for Smullyan’s book). However, I do think
that the fresh light thrown on first-order logic makes the slight detour through
this book vaut le voyage, as the Michelin guides say. (If you don’t want to take
the full tour, however, there’s a nice introduction to proofs by resolution in
Shawn Hedman, A First Course in Logic (OUP 2004): §1.8, §§3.4–3.5.)
29
5 First-order logic
truths about everything. If you think like that, treating logic as (so to speak) the most
general science, then of course you’ll again be inclined to regiment logic as you do
other scientific theories, ideally by laying down a few ‘basic laws’ and then showing
that other general truths follow.
Famously, Wittgenstein in the Tractatus reacted radically against Russell’s concep-
tion of logic. For him, logical truths are tautologies. They are not deep ultimate truths
about the most general, logical, structure of the universe; rather they are empty claims
in the sense that they tell us nothing informative about how the world is: they merely
fall out as byproducts of the meanings of the basic logical particles.
That last idea can be developed in more than one way. But one approach is Gentzen’s
in the 1930s. He thought of the logical connectives as getting their meanings from how
they are used in inference (so grasping their meaning involves grasping the inference
rules governing their use). For example, grasping ‘and’ involves grasping, inter alia,
that from ‘A and B’ you can (of course!) derive A. Similarly, grasping the conditional
involves grasping, inter alia, that a derivation of the conclusion C from the temporary
supposition A warrants an assertion of ‘if A then C’. Suppose then that A and B;
then we can derive A (by the ‘and’ rule). And reflecting on that little suppositional
inference, we see that the rule of inference which partly gives the meaning of ‘if’ entitles
us to assert if A and B, then A. And hence those logical inference rules enable us to
derive ‘for free’ (from no assumptions) the logical truth if A and B, then A.
If that is right, and if the point generalizes, then we don’t have to see such logical
truths as reflecting deep facts about the logical structure of the world (whatever that
could mean): logical truth falls out just as a byproduct of the inference rules whose
applicability is, in some sense, built into the very meaning of e.g. the connectives and
the quantifiers.
However, whether or not you fully buy that sort of story about the nature of logical
truth, there surely is something odd about thinking of a systematized logic as primarily
aiming to regiment a special class of ultra-general truths. Isn’t logic at bottom about
good and bad reasoning practices, about what makes for a good proof? Shouldn’t its
prime concern be the correct styles of valid inference? So isn’t it indeed more natural
for a formalized logic to highlight rules of proof-building rather than stressing axiomatic
truths? We will, however, have to leave the question hanging!
(c) Back to the history of the technical development of logic. Here are three sugges-
tions for reading:
11. The obvious place to start is with the following clear and judicious Stanford
Encyclopaedia article: William Ewald, The Emergence of First-Order Logic
(SEP, 2018).
12. José Ferreiros, ‘The road to modern logic – an interpretation’. Bulletin of
Symbolic Logic 7 (2001): 441–484, is also very helpful.
13. And then for a longer, much bumpier, ride – you’ll probably need to skim and
skip! – you could also try dipping into the more wide-ranging piece by Paolo
Mancosu, Richard Zach and Calixto Badesa, ‘The Development of Mathemat-
ical Logic from Russell to Tarski: 1900–1935’ in Leila Haaparanta, ed., The
History of Modern Logic (OUP, 2009, pp. 318–471).
30
Postscript: Other treatments?
31
5 First-order logic
32
Postscript: Other treatments?
33
5 First-order logic
“This book features a unique approach to the teaching of mathematical logic by putting
it in the context of the puzzles and paradoxes of common language and rational thought.
It serves as a bridge from the author’s puzzle books to his technical writing in the
fascinating field of mathematical logic. Using the logic of lying and truth-telling, the
author introduces the readers to informal reasoning preparing them for the formal study
of symbolic logic, from propositional logic to first-order logic, . . . The book includes a
journey through the amazing labyrinths of infinity, which have stirred the imagination
of mankind as much, if not more, than any other subject.”
Smullyan starts, then, with puzzles, e.g. of this kind: you are visiting an island
where there are Knights (truth-tellers) and Knaves (persistent liars) and then in var-
ious scenarios you have to work out what’s true from what the inhabitants say about
each other and the world. And, without too many big leaps, he ends with first-order
logic (using tableaux), completeness, compactness and more. This is no substitute for
standard texts, but – for those with a taste for being led up to the serious stuff via
sequences of puzzles – an entertaining and illuminating supplement.
Smullyan’s later A Beginner’s Guide to Mathematical Logic* (Dover Publications,
2014) is more conventional. The first 170 pages are relevant to FOL. A rather uneven
read, it seems to me; but again an engaging supplement to the texts recommended
above.
34
6 Elementary model theory
The high point of a first serious encounter with FOL is the proof of the completeness
theorem. Introductory mathematical logic texts then usually discuss at least a couple
of quick corollaries – the compactness theorem and the downward Löwenheim-Skolem
theorem. This means taking some initial steps in model theory: call it, if you like, Level
1 model theory. Further down the road we will encounter Level 3 model theory (I am
thinking of the sort of topics eventually covered in e.g. the now classic texts by Wilfrid
Hodges and David Marker). In between, there is a stretch of what we can think of as
Level 2 theory – still relatively elementary, relatively accessible, but going somewhat
beyond the very basics.
Putting it like this in terms of ‘levels’ is only for the purposes of rough-and-ready –
but let’s hope helpful! – organization: there are no sharp boundaries to be drawn. In
a first mathematical logic course, though, you should certainly get your head around
Level 1 model theory. Then tackle as much Level 2 theory as takes your interest. Level
3 topics are definitely more advanced: so we leave them to Part III of this Guide.
But what topics can we assign to the first two levels?
35
6 Elementary model theory
then introduce the key idea of a categorical theory – one whose models are all
isomorphic to each other (so all the models structurally ‘look the same’).
(iii) Languages can be expanded by adding new vocabulary, or reduced by forgetting
some vocabulary. Structures can similarly be expanded or reduced. We need to
say something about the interplay between these expansions and reductions. (A
footnote. We naturally think of languages as having a finite number of built-
in names, predicates, and function expressions. It is not much of a stretch to
allow formal languages to be expanded to have e.g. a distinct constant cn for
every natural number n (with cn then denoting n). It is rather more of a stretch
to countenance formal languages with uncountably many names (e.g. a distinct
name for each real number). But, as you will discover, it is useful to allow this
too for model-theoretic purposes.)
Now, the completeness theorem for your favourite proof system for FOL tells you
that any theory framed in a first-order language which is syntactically consistent (i.e.
doesn’t yield a contradiction in your proof system) has a model, meaning there is a
structure for which all the sentences of the theory are true. This immediately gives us:
(iv) The finiteness or compactness theorem. If Γ is some infinite set of first-order
sentences (a theory, if you like), and Γ semantically entails a sentence ϕ, then
there’s some finite collection of sentences ∆ ⊂ Γ such that ∆ already semantically
entails ϕ. Why? Suppose Γ semantically entails a sentence ϕ. By completeness, we
can derive ϕ from sentences in Γ in your favourite proof system. This derivation
– like any derivation – will be finitely long so it can only call on a finite number
of premisses ∆, where ∆ ⊂ Γ. But since we can derive ϕ from ∆, it follows by
the soundness of your proof system that the finite set ∆ semantically entails ϕ.
And here’s a quick corollary: if Γ semantically entails ⊥ (absurdity), then for some
finite ∆ ⊂ Γ, ∆ entails ⊥. Equivalently, if Γ is semantically inconsistent (there is no
structure which makes Γ all true, i.e. it has no model), then there is some finite ∆ ⊂ Γ
which is semantically inconsistent (has no model). Or to put it the other way about, if
every finite ∆ ⊂ Γ has a model, then Γ has a model.
It is instructive (and indeed fun!) to put this corollary to work a couple of times.
First, then, recall that we can form a (first-order) sentence
∃3 =def ∃x∃y∃z(x 6= y ∧ x 6= z ∧ y 6= z)
which is true in a structure if and only if its domain contains at least 3 objects. And
more generally, we can form a similar sentence ∃n which is true if and only if the
domain contains at least n objects, for any finite n. So far so good. Question: is there
also a first-order sentence we can abbreviate ∃∞ which is true if and only if the domain
contains an infinite number of objects? Answer:
(v) There is no first-order sentence ∃∞ which is true in all and only structures with
infinite domains. For suppose otherwise. Then we can form the following infinite
set of sentences
Γ =def {∃1, ∃2, ∃3, ∃4, . . . , ¬∃∞}
which contains ∃n for every finite n. Now, any finite subset ∆ ⊂ Γ will then
be true in some structure (because, for any finite subset ∆, there will be a
maximum number n such that ∃n is in ∆, and then all the sentences in ∆ will be
true in a structure whose domain contains just n objects). So by the corollary of
compactness, Γ will have a model. But that’s evidently impossible: no structure
36
Some elementary model theory: an overview
can have a domain which both has at least n objects for every n and also doesn’t
have infinitely many objects. So there can be no such sentence as ∃∞.1
That’s a first result about the expressive limitations of first-order languages. Now
let’s have a second, more dramatic, one.
Suppose LA is a formal first-order language for the arithmetic of the natural num-
bers. The precise details don’t matter; but to fix ideas, suppose LA ’s built-in non-logical
vocabulary comprises just the binary function expressions + and × (with their obvi-
ous interpretations), the unary function expression S (expressing the successor, next
number, function), and the constant 0 (denoting zero). Note, LA then has a sequence
of expressions 0, S0, SS0, SSS0, . . . which can serve as numerals, denoting 0, 1, 2, 3, . . . .
For brevity, write n as short for n occurrences of S followed by 0: so n is denotes n.
Now let T be some set of LA sentences which are true on the intended interpretation
(with the quantifiers running over the natural numbers, of course). Indeed, we might
as well suppose that the theory T is Ttrue , i.e. true arithmetic, the set of all true LA
sentences.
So Ttrue is by hypothesis true of the ‘intended model’, the natural numbers with their
distinguished element zero and the successor, addition, and multiplication functions
defined over them. But we’ll now show that Ttrue is also true of differently-structured,
non-isomorphic, models. Why so?
(vi) Add to the language LA the single new constant c, and expand Ttrue in the
+
new language to form the theory Ttrue , which is Ttrue plus all the extra axioms
+
c > 0, c > 1, c > 2, c > 3, . . .. We’ve therefore expanded Ttrue to get a theory Ttrue
whose models (if any) must included a non-standard number, i.e. i.e. number not
equal to the zero or one of its successors.
+
Now observe that any finite collection of sentences ∆ ⊂ Ttrue has a model.
Because ∆ is finite, there will be a some largest number n such that the axiom
c > n is in ∆; so just interpret c as denoting n+1 and give all the other vocabulary
its intended interpretation, and every sentence in ∆ will by hypothesis be true
on this interpretation.
+
Since any finite collection of sentences ∆ ⊂ Ttrue has a model, we can appeal
+
to our corollary of the compactness theory to conclude that Ttrue itself has a
model. That model, as well as having a zero and its successors, must also have
in its domain a distinct non-standard number c to be the denotation of c. And
since the new model must still make true the old Ttrue sentence which says that
everything in the domain has a successor, there will in addition be more non-
standard numbers to be successor of c, the successor of that, etc.
+
Now take a structure which is a model for Ttrue , with its expanded domain.
Keep everything the same but now just forget that the object c is especially
picked out (so the object c and its successors are still quietly sitting there, but
c is no longer picked out as the reference of the name c). This slightly reduced
+
interpretation will still make true all the sentences of Ttrue which don’t feature the
constant c. In other words, the reduced model – although its domain contains
1 Itis easy to construct a sentence which is true only in structures with infinite domains
(hint: write down clauses which say that the binary relation R is transitive, never relates
a thing to itself, but always relates an object to some other object). The trouble comes
in trying to construct a sentence which is also true in all structures with infinite domains
(hint: a structure may not have any binary relations, for example).
37
6 Elementary model theory
more than a zero and its successors and so it doesn’t ‘look like’ the original
intended model – will make true all the sentences in the original Ttrue .
Which is remarkable! Formal first-order theories are our standard way of regimenting
informal mathematical theories: but now we find that even Ttrue – the set of all first-
order LA truths taken together – still fails to pin down a unique structure for the
natural numbers.
And it gets worse. Return to the proof of the completeness theorem for FOL. If you
look at the details of the proof, it shows not just that any syntactically consistent set
of sentences from a given first-order language L has a model, but the set of sentences
will have a ‘countable’ model – in effect, it has a model whose domain is just (some or
all) the natural numbers. Which gives us
(vii) The downward Löwenheim-Skolem theorem. Suppose a bunch of sentences Γ from
a first-order language L has a model. Then Γ is syntactically consistent in your
favoured proof system (for if we could derive absurdity from Γ then, by the
soundness theorem, Γ would semantically entail absurdity, i.e. would be seman-
tically inconsistent after all and have no model). And since it is consistent then,
by our proof of completeness, Γ has a countable model.
Here’s an application. Suppose we aim to capture the set-theoretic principles we use
as mathematicians, arriving at the gold-standard Zermelo-Fraenkel set theory with the
Axiom of Choice, which we regiment as the first-order theory ZFC. Then:
(viii) ZFC, on its intended interpretation, makes lots of infinitary claims about the
existence of sets much bigger than the set of natural numbers. But the down-
ward Löwenheim-Skolem theorem tells us that, all the same, assuming ZFC is
consistent and has a model at all, it has a countable model – in other words, ZFC
even has an interpretation in the natural numbers. Hence our standard first-order
formalized set theory certainly fails to pin down the wildly infinitary universe
of sets. (Similarly for other first-order theories that are intended to characterize
structures bigger than the natural numbers.)
This result has even more of a wow factor! What is emerging then, in these first
steps into model theory, are some unexpected(?) expressive limitations of first-order
formalized theories.
Such limitations can be thought of as one of the main themes of Level 1 model
theory. At Level 2 we can pursue this theme further, starting with the upward Löwen-
heim-Skolem theorem which tells us that if a theory has an infinite model it will also
have models of all larger infinite sizes (as you see, then, you’ll need some basic grip
on the idea of the hierarchy of different cardinal sizes to make full sense of this sort of
result). Hence first-order theories which have infinite models won’t be categorical – i.e.
their models won’t all look the same because they can have domains of different sizes.
Still, a theory can be categorical at some particular size (that’s not the official jargon!),
meaning that all its models of a certain size are isomorphic. An example you’ll find
discussed: the theory of dense linear orders is countably categorical (i.e. all its models
of the size of the natural numbers are isomorphic – a lovely result due to Cantor); but
it isn’t categorical at the next infinite size up.
Then, still at Level 2, there are results about which theories are complete in the
sense of entailing either ϕ or ¬ϕ for each relevant sentence ϕ, and how this relates to
being categorical at a particular size. And there is another related notion of so-called
model-completeness: but let’s not pause over that. Instead, let’s mention just one more
fascinating topic that you will encounter early in your model theory explorations:
38
The main recommendations for beginning first-order model theory
(ix) We saw that we can take a standard first-order theory of the natural numbers
and use a compactness argument to show that it has a non-standard model
which has an element c in the domain greater than zero or any of its successors.
Similarly, we can take a standard first-order of the real numbers and use another
compactness argument to show that it has a non-standard model with an element
r in the domain such that that 0 < |r| < 1/n for any natural number n. So in this
model, the non-standard real r is infinitesimally small. And indeed our model
will have non-standard reals infinitesimally close to any standard real. And this
way, we can build a model of non-standard analysis (where e.g. a differential can
be defined in terms of infinitesimal differences – in just the sort of way that we
all supposed wasn’t respectable!).
Intriguing!
Finally, an issue arising from all this:
(x) You may well have already encountered a proof that what is often simply called
‘Peano Arithmetic’ is categorical – all its models do indeed structurally look
the same. So how does that square with the result that first-order arithmetics
are not categorical? The answer (unsurprisingly) is that the relevant categorical
version of Peano Arithmetic is a second -order theory, which quantifies not just
over numbers but over numerical properties. For example, the induction axiom
in this formal theory of arithmetic is second-order, regimenting the informal
principle that for any arithmetical property P , if zero has P , and a number
which has P always passes it on to its successor, then every number has P – NB
the second-order quantification here.
Going second-order makes all the difference (in arithmetic, but in other theories too
like the theory of the reals). But why? To understand what is going on here, you need to
understand something about the contrast between first-order theories and second-order
ones.
It is quite easy, for example, to write down a second-order sentence ∃∞ which is
true if and only if the domain of objects is infinite (an infinite domain is one that can
be put into one-one correspondence with itself-minus-an-object: so we just write down
a second-order sentence which says there is a relation which is one-one and . . . ). We
know we can’t have compactness and a sentence ∃∞ co-existing: so second-order logic
is not compact. Hence second-order logic can’t be captured in a complete deductive
system (or else we could re-run the argument of (iv) above to prove it was compact
after all). Similarly, the Löwenheim-Skolem theorem fails for second-order logic. We’ll
consider second-order logic and second-order theories at some length in Chapter ??:
but it is probably worth taking a quick initial look now.
For a little more by way of a general introductory overview, you could also ook at
Wilfrid Hodges’s piece in the Stanford Encyclopaedia of Philosophy, Model Theory.
39
6 Elementary model theory
Some of the introductions to FOL that I mentioned in $5.4 have treatments of the
Level 1 basics; I’ll return to these in the next section on parallel/additional reading. And
going just a little beyond, the very first volume in the prestigious and immensely useful
Oxford Logic Guides series is Jane Bridge’s very compact Beginning Model Theory:
The Completeness Theorem and Some Consequences (Clarendon Press, 1977). This
neatly takes us through Level 1 and enough of Level 2, and the coverage strikes me
as exemplary for a short first introduction for logicians. But the writing, though very
clear, is also very terse in an old-school way; and the book – not unusually for that
publication date – looks like photo-reproduced typescript, which is off-putting to read.
What, then, are the more recent options?
1. I have already sung the praises of Derek Goldrei’s Propositional and Predicate
Calculus: A Model of Argument (Springer, 2005) for the accessibility of its
treatment of FOL in the first five chapters. You should now read his §§4.4 and
4.5 (which I previously said you could skip), and Chapter 6.
In a little more detail, §4.4 introduces some axiom systems describing var-
ious mathematical structures (partial orderings, groups, rings, etc.): this sec-
tion could be particularly useful to philosophers who haven’t really met the no-
tions before. Then §4.5 introduces the notions of substructures and structure-
preserving isomorphisms. After proving the compactness theorem in §6.1 (as a
corollary of his completeness proof), Goldrei proceeds to use it in §§6.2 and 6.3
to show various theories can’t be finitely axiomatized, or can’t be nicely ax-
iomatized at all. §6.4 introduces the Löwenheim-Skolem theorems and some
consequences, and the following section introduces the notion of ‘diagrams’
and puts it to work. The final section, §6.6 considers issues about categoricity,
completeness and decidability. All this is done with the same admirable clarity
as marked out Goldrei’s earlier chapters.
Goldrei, though, goes quite slowly and doesn’t get very far. To take a further
step, the best option is probably the more expansive
2. Marı́a Manzano, Model Theory, Oxford Logic Guides 37 (OUP, 1999). This
book aims to be an introduction at the kind of level we are currently concerned
with. And standing back from the details, I do very much like the way that
Manzano structures her book. The sequencing of chapters makes for a very
natural path through her material, and the coverage seems very appropriate
for a book at Levels 1 and 2. After chapters about structures (and mappings
between them) and about first-order languages, she proves the completeness
theorem again, and then has a sequence of chapters on core model-theoretic
notions and proofs. This is all done tolerably accessibly (just half a step up
from Goldrei, perhaps).
Now, the discussions at some points would have benefitted from rather more
informal commentary, motivating various choices. Sometimes the symbolism
is a bit heavy-handed. And there are some other infelicities. But overall, Man-
zano’s text should work well. See this Book Note on Manzano for more details.
Another suggestion. The first two-thirds of the following book, which is ex-
plicitly aimed at undergraduate mathematicians, is at approximately the same
level as Manzano:
40
Some parallel/additional reading
41
6 Elementary model theory
§6.1 discusses first-order theories, §6.2 treats compactness and the Löwenheim-
Skolem theorem, and §6.3 is on decidable theories. Very clearly done.
Now, thanks to the efforts of the respective authors to write very accessibly, the
suggested main path through FOL with Chiswell & Hodges → (part of) Leary &
Kristiansen → the beginnings of model theory with (excerpts from) Goldrei → Manzano
is not at all a hard road to follow. Yet we end up at least in the foothills of serious
model theory. We can climb up to the same foothills by routes involving rather tougher
scrambles, taking in some additional side-paths and new views along the way. Here is
a suggestion for the more mathematical reader:
7. Shawn Hedman, A First Course in Logic (OUP, 2004). This covers a surprising
amount of model theory. Ch. 2 tells you about structures and about relations
between structures. Ch. 4 starts with a nice presentation of a Henkin com-
pleteness proof, and then pauses (as Goldrei does) to fill in some background
about infinite cardinals etc., before going on to prove the Löwenheim-Skolem
theorems and compactness theorems. Then the rest of Ch. 4 and the next chap-
ter covers more introductory model theory, though already touching on some
topics beyond the scope of Manzano’s book. Hedman so far could therefore
serve as a rather tougher(?) alternative to her treatment.
Then Ch. 6 takes the story on a lot further, quite a way beyond what I’d
regard as elementary model theory. For more, see this Book Note on Hedman.
Last but not least, philosophers will certainly want to tackle (parts of) the following
quite recently published book, which strikes me as an impressive achievement:
8. Tim Button and Sean Walsh, Philosophy and Model Theory* (OUP, 2018).
This book both explains technical results in model theory, and also explores
the appeals to model theory in various branches of philosophy, particularly phi-
losophy of mathematics, but in metaphysics more generally (recall ‘Putnam’s
model-theoretic argument’), the philosophy of science, philosophical logic and
more. So that’s a very scattered literature that is being expounded, brought
together, examined, inter-related, criticized and discussed. Button and Walsh
don’t pretend to be giving the last word on the many and varied topics they
discuss; but they are offering us a very generous helping of first words and
second thoughts. It’s a large book because it is to a significant extent self-
contained: model-theoretic notions get defined as needed, and many of the
more significant results are proved.
The philosophical discussion is done with vigour and a very engaging style.
And the expositions of the technical stuff are usually exemplary (the authors
have a good policy of shuffling some extended proofs into chapter appendices).
But I still suspect that an amount of the material is more difficult that the
authors fully realize: we soon get to tangle with some Level 3 model theory,
and quite a lot of other technical background is presupposed. The breadth and
depth of knowledge brought to the enterprise is remarkable: but it does make
of a bumpy ride even for those who already know quite a lot. Philosophical
readers of this Guide will probably find the book challenging, then, but (at least
the earlier parts) fascinating And indeed, with judicious skimming/skipping –
the signposting in the book is excellent – mathematicians with an interest in
some foundational questions should find much of interest here too.
And that might already be about as far as many philosophers may want or need to go
in this area. Many mathematicians, however, will want to take the story about model
42
A little history?
theory rather further: so the story resumes in Part III, Chapter ??.
43
7 Arithmetic, computability, and
incompleteness
44
Computable functions, formal arithmetics, and Gödel: an overview
addition. Hence the two pairs of equations together tell us how to multiply a given
number x by any of 0, S0, SS0, SSS0, . . ..
Similarly for exponentiation. And note that the six equations taken together not only
define exponentiation, but they give us an algorithm for computing xy for any natural
numbers x, y – they tell us how to compute xy by doing repeated multiplications,
which we in turn compute by doing repeated additions, which we compute by repeated
applications of the successor function. That is to say, the chain of equations amounts to
a set of instructions for a deterministic step-by-step computation which will output the
value of xy in a finite number of steps. Hence, for short, exponentiation is an effectively
computable function.
In each of our pairs of equations, the second one fixes the value of the defined function
for argument Sy by invoking the value of the same function for argument y. A procedure
where we evaluate a function for one input by calling the same function for some
smaller input(s) is standardly termed ‘recursive’ – and the particularly simple type of
procedure we’ve illustrated three times is called, more precisely, primitive recursion.
Now – arm-waving a bit! – consider any function which can be defined by a chain of
equations similar to the chain of equations giving us a definition of exponentiation.
Suppose that, starting from trivial functions like the successor function, we can build
up the function’s definition by using primitive recursions and composition of functions.
Such a function is said to be primitive recursive.
Generalizing from the case of exponentiation, any primitive recursive function – p.r.
function, for short – is effectively computable; in other words, there is an algorithmic
step-by-step procedure for computing its value of any input(s).
(a.ii) However, not all effectively computable functions are primitive recursive. There’s
a neat abstract argument which proves the point – which it is well worth giving here,
since it is a nice example of a so-called diagonalization argument:
Imagine definitions for all the p.r. functions f0 , f1 , f2 , . . . being listed off in
some standard specification language in ‘dictionary order’. Then consider
the table
0 1 2 3 ...
45
7 Arithmetic, computability, and incompleteness
can’t mechanically list off the recipes involving the minimalization operator that deliver
total functions.)
The claim that the µ-recursive functions are indeed just the intuitively computable
total functions is Church’s Thesis, and is very widely believed to be true (or at least,
is taken to be an entirely satisfactory working hypothesis). Why? For a start, there
are quasi-empirical reasons: no one has found a total function which is incontrovertibly
computable by a finite-step deterministic algorithmic procedure but which isn’t µ-
recursive. But there are also much more principled reasons for accepting the Thesis.
Consider, for example, Turing’s approach to the notion of effective computation.
He famously aimed to analyse the idea of a step-by-step computation procedure down
to its very basics, which led him to the concept of computation by a Turing machine
(a minimalist computer). And what we can call Turing’s Thesis is that the effectively
computable (total) functions are just the functions which are computable by some
suitably programmed Turing machine.
So do we now have two rival claims, Church’s and Turing’s, about the class of com-
putable functions? Not at all! For it turns out to be quite easy to prove the technical
result that a total function is µ-recursive if and only if is Turing computable. And so it
goes: every other attempt to give an exact characterization of the class of computable
functions (via register machines, by Herbrand-Gödel computability, by Markov com-
putability, . . . ) turns out to locate just the same class of functions. That’s remarkable,
and this is a key theme you will want to explore in a first encounter with the theory
of computable functions.
(a.v) It is fun to learn, in particular, more about Turing machines, and even write a
few elementary programs.
In fact, when we talk of various Turing machines, we are really talking about Turing
machine programs – and we can e.g. number off all the Turing machines by by number-
ing off their programs ‘in dictionary order’. And there is a beautiful early result that
you will encounter: there is no mechanical decision procedure which can determine
whether Turing machine number e, fed a given input n, will ever halt its computation
(so there is no general decision procedure which can tell whether Turing machine e in
fact computes a total function).
We’ll show something just a bit narrower. There is no Turing machine H which
determines whether the Turing machine number e will ever halt its computation when
fed the input e. Again, the argument is so neat and easy that it really is worth giving
an outline sketch here – it again involves a simple diagonalization trick!
Suppose then that there is a Turing machine H, which does the following:
if given the number e, it spits out the number 1 (‘true!’), while if the Turing
machine number e halts its computation when given input e, it spits out
0 (‘false!’).
Now, it is trivial to program a machine L which given the number 1
goes into a loop and never halts, while if given 0 immediately halts.
So now consider the Turing machine D which you get by combining
the programs for H and then L, in effect concatenating the machines in
that order. Hence (think about it!) fed the number e, if the Turing machine
number e halts its computation when given input e, the combined machine
D will loop and never halt: and if the Turing machine number e never halts
its computation when given input e, D will halt.
And now for the cunning diagonalization trick. The putative machine
47
7 Arithmetic, computability, and incompleteness
48
Computable functions, formal arithmetics, and Gödel: an overview
First-order PA turns out to be a rich theory. Is it rich enough to settle every question
that can be raised in its language? More carefully, if A is an arithmetical claim that
can be formulated in its first-order language, must PA either prove A or alternatively
prove ¬A?
The omens might seem good. Take the first-order theory you get by dropping mul-
tiplication from PA’s language and dropping the multiplication axioms. The result is
called Presburger Arithmetic in honour of Mojzesz Presburger who proved in 1929 that
this theory is rich enough to settle every question that can be raised in its language.
So why should adding multiplication make all the difference?
Yet it does! In 1931, Kurt Gödel proved that PA is negation incomplete – meaning
that we can form a sentence G in its language such that PA proves neither G nor ¬G.
(More accurately: he gives an argument which applies to a different theory, but one
which can be directly carried over to apply to PA instead.) How does he do the trick?
(c.ii) It’s fun and instructive to give an outline sketch (the result is of great signifi-
cance, but its proof is in essence remarkably elementary – and indeed, this elementary
character was itself of philosophical importance for Gödel). So:
1. Gödel introduces a Gödel-numbering scheme for a formal theory like PA, which
is a simple way of coding expressions of PA – and also sequences of expressions
of PA – using natural numbers. The scheme gives an algorithm for sending an
expression (or sequence of expressions such as a proof) to a number; and a
corresponding algorithm for undoing the coding, sending a code number back to
the expression (sequence of expressions) it codes. Relative to a choice of scheme,
the code number for an expression (or a sequence of expressions) is its unique
Gödel number.
2. Fix on such a numbering scheme. Then, relative to that scheme we can define
relations like Prf , where Prf (m, n) holds if and only if m is the Gödel number of
a PA-proof of the sentence with code number n. So Prf is a numerical relation
which, so to speak, ‘arithmetizes’ the syntactic relation between a sequence of
expressions (proof) and a particular sentence (conclusion). True enough, this isn’t
kind of arithmetic relation we are familiar with. But it is perfectly well-defined.
3. And now note that Prf is not only well-defined but it is an effectively decidable
arithmetical relation – i.e. there’s a procedure for computing, given numbers
m and n, whether Prf (m, n) holds. Informally, we just decode m (that’s an
algorithmic procedure). Now check whether the resulting sequence of expressions
– if there is one – is a well-constructed PA-proof according to the rules of the
game (proof-checking is another algorithmic procedure). If that sequence is a
proof, check whether it ends with a sentence with the code number n (that’s
another algorithmic procedure).
4. It is easy to extend the result that PA can express any computable function to
the claim that it can express any computably decidable relation. So there will in
particular be a formal expression in the language of PA which we can abbreviate
Prf(x, y) which expresses the relation Prf . This means that Prf(m, n) is true if
and only if m codes for a PA proof of the sentence with Gödel number n.
5. Now define Prov(x) to be the expression ∃zPrf(z, x). So then Prov(n), i.e. ∃zPrf(z, n),
is true iff some number Gödel-numbers a PA-proof of the wff with Gödel-number
n, i.e. is true just if the wff with code number n is a theorem of PA. Therefore
Prov(x) is naturally called a provability predicate.
50
Computable functions, formal arithmetics, and Gödel: an overview
6. Pause on that thought a moment. PA’s expressions are, of course, directly about
numbers. But a Gödel-numbering scheme links numbers back to PA’s expressions.
So this opens up the possibility that the ‘arithmetization of syntax’ allows us to
construe certain PA expressions to be indirectly about themselves.
7. In fact, we can construct a Gödel sentence G in the language of PA with the
following property: G is true if and only if ¬Prov(g) is true, where g is the code
number of G.
Don’t worry for the moment about how we do this construction (it is surpris-
ingly easy). Just note that G is true on interpretation if and only if the sentence
with Gödel number g is not a PA-theorem, i.e. if and only if G is not a PA-
theorem.
In short, G is true if and only if it isn’t a PA-theorem. So, stretching a point,
it is rather as if G ‘says’ I am unprovable in PA.
8. Now, suppose G were provable in PA. Then, since G is true if and only if it isn’t
a PA-theorem, G would be false. So PA would have a false theorem. Hence as-
suming PA is sound and only has true theorems, then it can’t prove G. Hence,
since it is not provable, G is indeed true. Which means that ¬G is false. Hence,
still assuming PA is sound, it can’t prove ¬G either.
So, in sum, assuming PA is sound, it can’t prove either of G or ¬G. As an-
nounced, PA is negation incomplete.
Wonderful!
(c.iii) Now the argument generalizes. Suppose T is any nicely axiomatized sound
theory which can express enough arithmetic (‘nicely’ is a placeholder for a story about
how we can effectively decide what’s an axiom etc. – let’s not fret about the details
here). Then, the claim is, we can by the same construction find a true GT such that T
can prove neither GT nor ¬GT . Let’s be really clear: this doesn’t, repeat doesn’t, say
that GT is ‘absolutely unprovable’, whatever that could mean. It just says that GT and
its negation are unprovable-in-T.
Ok, you might well ask, why don’t we simply ‘repair the gap’ in T by adding the
true sentence GT as a new axiom? Well, consider the theory U = T + GT (to use an
obvious notation). Then (i) U is still sound, since the old T -axioms are true and the
added new axiom is true. (ii) U is still a nicely axiomatized formal theory given that T
is. (iii) U can still express enough arithmetic. So we can find a sentence GU such that
U can prove neither GU nor ¬GU .
And so it goes. Keep throwing more and more additional true axioms at T and our
theory will remain negation-incomplete (unless it stops counting as nicely axiomatized.
So here’s the key take-away message: any sound nicely axiomatized theory T which can
express enough arithmetic will not just be incomplete but in a good sense T will be
incompletable.
“Hold on! When discussing model theory in §6.1 we mentioned the theory Ttrue ,
i.e. true arithmetic, the set of all true sentences of the language of PA. This theory is
trivially complete – for any sentence S of the language, it (trivially) proves the true
one out of S and ¬S!” True enough. But what follows is that Ttrue can’t be nicely
axiomatized. And this is, indeed, one reason why the incompleteness theorem matters.
It sabotages the logicist project of Frege and Russell which (putting it crudely) aims
to show that we can set down some logical axioms and definitions from which we can
deduce, for a start, all the truths of basic arithmetic (so giving us a negation-complete
theory for such truths). That can’t be done. But then, if even the truths of the first-
51
7 Arithmetic, computability, and incompleteness
order language of PA can’t be captured in that way, if the basic truths of arithmetic
outstrip what is settled by logic and definitions of arithmetical vocabulary, then just
what is the status of such truths?
(c.iv) Now, note that our first sketch of an incompleteness theorem assumed that we
are dealing with a sound theory. But we can in fact prove incompleteness on the basis
of a syntactic assumption too, namely that we are dealing with a consistent theory
(well, it is a little bit more complicated than that, but again we won’t fret about the
fine print here). The crucial point is that our incompleteness theorem comes in two
flavours, depending whether we appeal to semantic or syntactic assumptions. And it is
in fact the second, syntactic, version that is usually called Gödel’s First Incompleteness
Theorem: roughly, a consistent theory which can prove enough arithmetic can’t be
negation complete. A proof of this version is still quite elementary, but it requires more
preparatory work showing that theories like PA can not only express but prove relevant
facts about recursive functions.
“Hold on again! Let’s backtrack. I’m concerned that there is something rather sus-
pect about all this! You claimed that the unprovable Gödel sentence G, via the coding,
in effect says ‘I am not provable’. Well, we know that playing with e.g. the Liar sen-
tence ‘I am not true’ leads to paradox, not a theorem: why isn’t the supposed Gödel
proof similarly entangled with paradox?” That’s a good question. Just two observa-
tions here. First, as you will find when you go though a ore careful presentation, the
Gödel construction is in fact quite unproblematic: so that’s work to do, to get to the
point that you understand that indeed nothing underhand is going on! And second, as
you will also find, there are other proofs of the First Incompleteness Theorem which
don’t depend on that construction. For just one example, you will meet a simple argu-
ment that derives incompleteness from the result that there is there no general decision
procedure for determining whether a Turing machine halts on a given input.
(c.v) There’s a Second Incompleteness Theorem too. The syntactic version of the
First Theorem for PA tells us that if PA is consistent, G is unprovable in PA. But,
using the Gödel-numbering scheme we used when proving this Theorem, this fact is
itself expressible in PA! Why?
Well, the claim that PA is consistent is equivalent to the arithmetic claim that no
number codes for a proof of absurdity in PA; and, using the provability predicate, that
arithmetical claim can be expressed by an arithmetic sentence we can abbreviate Con.
While the claim that G is unprovable in PA is expressed in PA by G itself. So the First
Theorem can be coded up in PA by the arithmetic sentence Con → G.
But there’s more. We said that the proof of the First Incompleteness Theorem
is elementary. And in fact, it is so elementary that PA itself can prove the formal
expression of the Theorem, i.e. it can prove Con → G (though it is tedious to check
this). But since we know that if PA is consistent, it can’t prove G, it follows that if PA
is consistent it can’t prove Con.
Generalize, and we get the Second Incompleteness Theorem: roughly, a consistent
theory T containing enough arithmetic can’t prove the corresponding sentence ConT
which codes the claim that T is consistent.
(c.vi) Why is this interesting? You might say: assuming T is consistent, ConT is just
another truth like GT which T can’t prove.
However, there’s an important corollary. If T can’t prove itself consistent, then it
won’t be able to prove that a stronger theory which contains it is consistent. For
example, assuming PA is consistent, it can’t prove that PA is consistent: and that
52
The main recommendations on arithmetic, etc.
means it can’t prove the consistency of a stronger theory like the set theory ZFC in
which we can implement Peano arithmetic. And that observation sabotages what’s
called Hilbert’s programme – the programme of seeking to produce consistency proofs
in relatively safe weak theories (like PA) of stronger theories (like ZFC).
Or so the story goes. But for more, it really is time to get down to some serious
reading!
1. Peter Smith, Gödel Without (Too Many) Tears*: details here. This is a very
short book – just 130 pages – which, after some general introductory chapters,
and a little about formal arithmetic, explains the idea of primitive recursive
functions, explains the arithmetization of syntax, and then proves Gödel’s
First Theorem pretty much as Gödel did, with a minimum of fuss. There
follow a few chapters on closely related matters and on the Second Theorem.
GWT is, I hope, very clear and accessible, and is perhaps all you need for
a first foray into this area if you don’t want (yet) to tangle with the general
theory of computation. But the more mathematical reader can perhaps jump
straight to . . .
2. Peter Smith, An Introduction to Gödel’s Theorems** (2nd edition CUP, 2013:
now free to download), is three times the length of GWT and ranges more
widely. It starts by informally exploring various ideas such as effective com-
putability, and then it proves two correspondingly informal versions of the
first incompleteness theorem. The next part of the book gets down to work
talking about formal arithmetics, developing some of the theory of primitive
recursive functions, and explaining the ‘arithmetization of syntax’. Then it
establishes more formal versions of Gödel’s first incompleteness theorem and
goes on discuss the second theorem, all in more detail than GWT. Then the
last part of the book widens out the discussion to explore the idea of recursive
functions more generally, discussing Turing machines and the Church-Turing
thesis, and giving further proofs of incompleteness (e.g. deriving it from the
‘recursive unsolvability’ of the halting problem for Turing machines).
3. Richard Epstein and Walter Carnielli, Computability: Computable Functions,
53
7 Arithmetic, computability, and incompleteness
Logic, and the Foundations of Mathematics (Wadsworth 2nd edn. 2000: Ad-
vanced Reasoning Forum 3rd edn. 2008) is an excellent introductory book on
the standard basics, particularly clearly and attractively done. Part I, on ‘Fun-
damentals’, covers some background material, e.g. on the idea of countable
sets (many readers will be able to speed-read through these initial chapters).
Part II, on ‘Computable Functions’, comes at them two ways: first via Turing
Machine computability, and then via primitive recursive and then partial re-
cursive functions, ending with a proof that the two approaches define the same
class of effectively computable functions. Part III, ‘Logic and Arithmetic’,
turns to formal theories of arithmetic and the way that the representable
functions in a formal arithmetic like Robinson’s Q turn out to be the recur-
sive ones. Formal arithmetic is then shown to be undecidable, and Gödelian
incompleteness derived. The shorter Part IV has a chapter on Church’s Thesis
(with more discussion than is often the case), and finally a chapter on con-
structive mathematics. There are many interesting historical asides along the
way.
Those three books should be very accessible to those without much mathemat-
ical background: but even more experienced mathematicians should appreciate
the careful introductory orientation which they provide. Then next, taking per-
haps another half a step up in mathematical sophistication, we arrive at a quite
delightful book:
4. George Boolos and Richard Jeffrey, Computability and Logic (CUP 3rd edn.
1990). This is a modern classic, wonderfully lucid and engaging, admired by
generations of readers. Indeed, looking at it again in revising this Guide, I
couldn’t resist some re-reading! It starts with a exploration of Turing ma-
chines, ‘abacus computable’ functions, and recursive functions (showing that
different definitions of computability end up characterizing the same class of
functions). And then it moves on discuss logic and formal arithmetic (with
interesting discussions ranging beyond what is covered in my book or E&C).
There are in fact two later editions – heavily revised and considerably ex-
panded – with John Burgess as a third author. But I know that I am not
the only one to think that these later versions (good though they are) do
lose something of the original book’s famed elegance and individuality and
distinctive flavour. Still, whichever edition comes to hand, do read it! – you
will learn a great deal in an enjoyable way.
One comment: none of these books – including my longer one – gives a full proof of
Gödel’s Second Incompleteness Theorem. That’s because it is tediously fiddly to show
that the so-called ‘derivability conditions’ obtain which allow e.g. PA to prove the
formal version of the First Theorem, i.e. Con → G. If you really want all the details,
see one of the relevant recommendations in Chapter ??.
5. Torkel Franzén, Gödel’s Theorem: An Incomplete Guide to its Use and Abuse
(A. K. Peters, 2005). John Dawson (who we’ll meet again below) writes “Among
the many expositions of Gödel’s incompleteness theorems written for non-
specialists, this book stands apart. With exceptional clarity, Franzén gives
careful, non-technical explanations both of what those theorems say and, more
importantly, what they do not. No other book aims, as his does, to address in
detail the misunderstandings and abuses of the incompleteness theorems that
are so rife in popular discussions of their significance. As an antidote to the
many spurious appeals to incompleteness in theological, anti-mechanist and
post-modernist debates, it is a valuable addition to the literature.” Invaluable,
in fact!
Turning back to to conventional treatments, the Open Logic Project now has a good
volume:
6. Jeremy Avigad and Richard Zach, Incompleteness and Computability: An Open
Introduction to Gödel’s Theorems, download from this page. Chapters 1 to 5
are on computability and Gödel, covering a good deal in just 120 very sparsely
printed pages. Avigad and Zach are admirably clear as far as they go – though
inevitably, given the length, they have to go pretty briskly. Still, this could be
enough for those who want a short first introduction. Others could well find
this very useful revision material, highlighting some basic main themes.
Still, I’d certainly recommend taking a slower tour through more of the sights, by
following e.g. the recommendations in the previous section.
Another excellent book that could well have been a main recommendation is:
7. Herbert E. Enderton’s relatively short book Computability Theory: An Intro-
duction to Recusion Theory (Associated Press, 2011). This is written with
attractive zip and lightness of touch (this is a notably more relaxed book
than his earlier Logic). The first chapter is on the informal Computability
Concept. There are then chapters on general recursive functions and on regis-
ter machines (showing that the register-computable functions are exactly the
recursive ones), and a chapter on recursive enumerability. Chapter 5 makes
‘Connections to Logic’ (including proving Tarski’s theorem on the undefin-
ability of arithmetical truth and a semantic incompleteness theorem). The
final two chapters push on to say something about ‘Degrees of Unsolvability’
and ‘Polynomial-time Computability’. This is all very nicely and accessibly
done.
This book, then, makes an excellent alternative to Epstein & Carnielli: it is, however,
a little more abstract and sophisticated, which why I have on balance recommended
E&C for most readers. The more mathematical might well prefer Enderton.
By the way, staying with Enderton, I should mention that Chapter 3 of his earlier
A Mathematical Introduction to Logic (Academic Press 1972, 2002) gives a good brisk
treatment of different strengths of formal theories of arithmetic, and then proves the
incompleteness theorem first for a formal arithmetic with exponentiation and then –
after touching on other issues – shows how to use the β-function trick to extend the
theorem to apply to arithmetic without exponentiation. Not the best place to start,
but this chapter too could be very useful revision material.
Next, I have already warmly recommended the following book for its coverage of
first-order logic:
55
7 Arithmetic, computability, and incompleteness
This will really give you the headline news you initially need. Enthusiasts can find
a little more detail about the early days in e.g. Rod Adams’s An Early History of
Recursive Functions and Computability* (Docent Press, 2011). But it is a lot more
interesting to read
12. John Dawson, Logical Dilemmas: The Life and Work of Kurt Gödel (A. K.
Peters, 1997).
Not, perhaps, quite as lively as the Fefermans’ biography of Tarski which I mentioned
in §6.4 – but then Gödel was such a very different man. Fascinating, though!
57
Index of authors
58
Index of authors
Shen, A., 56
Sider, T., 33
Smith, N., 2
Smith, P., 2, 25, 27, 53
Smullyan, R., 28, 33–34
Solomon, G., 33
Steinhart, E., 1–2
Thomas, W., 32
Vaught, R., 43
Velleman, D., 3–5
Vereshchagin, N., 56
Walsh, S., 42
Weber, R., 56
Whitehead, A., 29
59