Appendix
Appendix
logicmatters.net
Preface ii
1. Kleene, Introduction to Metamathematics, 1952 1
2. Mendelson, Introduction to Mathematical Logic, 1964, 2015 3
3. Shoenfield, Mathematical Logic, 1967 6
4. Kleene, Mathematical Logic, 1967 8
5. Robbin, Mathematical Logic: A First Course, 1969 10
6. Enderton, A Mathematical Introduction to Logic, 1972, 2002 12
7. Ebbinghaus, Flum & Thomas, Mathematical Logic, 1978, 2021 15
8. Van Dalen, Logic and Structure, 1980, 2012 18
9. Prestel & Delzell, Mathematical Logic and Model Theory, 1986, 2011 21
10. Johnstone, Notes on Logic and Set Theory, 1987 22
11. Hodel, An Introduction to Mathematical Logic, 1995 23
12. Goldstern & Judah, The Incompleteness Phenomenon: A New Course
in Mathematical Logic, 1995 26
13. Rautenberg, A Concise Introduction to Mathematical Logic, 1995, 2010 29
14. Forster, Logic, Induction and Sets, 2003 31
15. Hedman, A First Course in Logic, 2004 33
16. Hinman, Fundamentals of Mathematical Logic, 2005 36
17. Chiswell & Hodges, Mathematical Logic, 2007 40
18. Srivastava, A Course on Mathematical Logic, 2008, 2013 43
19. Leary & Kristiansen, A Friendly Introduction to Mathematical Logic,
2015 46
20. O’Leary, A First Course in Mathematical Logic and Set Theory, 2016 49
21. Mileti, Modern Mathematical Logic, 2023 51
22. Avigad, Mathematical Logic and Computation, 2023 55
i
Preface
The traditional menu for a first serious Mathematical Logic course covers basic
first order logic with some model theory, the elementary theory of computability
and related matters (like Gödel’s incompleteness theorem), and introductory set
theory. The Beginning Mathematical Logic Study Guide makes some recommen-
dations for entry-level reading on these areas, topic-by-topic.
This Appendix complements the main Guide by adding book-by-book reviews
of some of the more general texts that aim to cover an amount of this core menu.
I give an indication of what they cover and – more importantly – of how they
cover it, while commenting on style, accessibility, etc.
These wider-ranging books don’t always provide the best currently available
introductions to this or that particular area: but they can still be very useful
for widening and deepening your understanding and they can reveal how topics
from different areas fit together. I don’t promise to (eventually!) discuss every
worthwhile Big Book, or to give a similar level of coverage to those I do consider.
But I’m working on the principle that even a somewhat patchy guide might still
be useful. Undated entries were written about a decade ago. I am slowly revising
them, and adding new entries.
The entry on a text starts with a general indication of its coverage, and some
initial remarks. Then there is usually a more detailed description of contents
with more specific comments. Finally, there’s a summary verdict.
The books are listed in chronological order of first publication.
ii
1 Kleene, 1952
♢
Some details Chs. 1–3 are introductory. There’s a little about enumerability
and countability (Cantor’s Theorem); then a chapter on natural numbers, induc-
tion, and the axiomatic method; then a little tour of the paradoxes, and possible
responses.
Chs. 4–7 are a gentle introduction to the propositional and predicate calculus
and to a formal system which is in fact first-order Peano Arithmetic (you need
1
1. Kleene
to be aware that the identity rules are treated as part of the arithmetic, not the
logic). Although Kleene’s official system is Hilbert-style, he shows that ‘natural
deduction’ introduction and elimination rules can be thought of as derived rules
in his system, so it all quickly becomes quite user-friendly. (He doesn’t at this
point prove the completeness theorem for his predicate logic: as I said, things go
quite gently at the outset!)
Ch. 8 starts work on ‘Formal number theory’, showing that his formal arith-
metic has nice properties, and then defines what it is for a formal predicate
to capture (‘numeralwise represent’) a numerical relation. Kleene then sets up
Gödel coding and proves Gödel’s incompleteness theorem, assuming a Lemma –
eventually to be proved in his Chapter 10 – about the capturability of the rela-
tion ‘m numbers a proof [in Kleene’s system] of the sentence with code number
n’.
Ch. 9 gives an extended treatment of primitive recursive functions, and then
Ch. 10 deals with the arithmetization of syntax, yielding the Lemma needed for
the incompleteness theorem.
Chs. 11–13 then give a nice treatment of general (total) recursive functions,
partial recursive functions, and Turing computability. This is all very attractively
done.
That leaves the final two chapters, in fact forming almost a quarter of the book
under the heading ‘Additional Topics’. In Ch. 14, after proving the complete-
ness theorem for the predicate calculus without and then with identity, Kleene
discusses the decision problem. And the final Ch. 15 discusses Gentzen systems,
the normal form theorem, intuitionistic systems and Gentzen’s consistency proof
for arithmetic.
♢
Summary verdict Kleene’s classic can still be warmly recommended as an en-
joyable and illuminating presentation of this fundamental material, written by
someone who was himself so closely engaged in the early developments back
in the glory days. It should be entirely accessible if you have managed a mod-
ern introduction to FOL and perhaps already met Gödel’s theorem, and it will
certainly enrich and broaden your understanding.
Revised 2023
2
2 Mendelson, 1964, 2009
♢
Some details After a brief introduction, Ch. 1 is on the propositional calculus.
It covers semantics first (truth-tables, tautologies, adequate sets of connectives),
then an axiomatic proof system. The treatments don’t change much between
editions, and will probably only be of interest if you’ve never encountered a
Hilbert-style axiomatic system before.
The fine print of how Mendelson regards his symbolic apparatus is interesting:
if you read him carefully, you’ll see that the expressions in his formal systems are
not sentences – not expressions of the kind that, on interpretation, can be true
or false – but are schemata, what he calls statement forms. But this relatively
idiosyncratic line about how the formalism is to be read, which for a while (due
3
2. Mendelson
to Quine’s influence) was oddly popular among philosophers, doesn’t much affect
the development.
Ch. 2 is on quantification theory, again in an axiomatic style. The fourth
edition adds to the end of the chapter more sections on model theory: there is
a longish section on ultra-powers and non-standard analysis, then there’s (too
brief) a nod to semantic trees, and finally a new discussion of quantification
allowing empty domains. The extra sections in the fourth edition are a definite
bonus: without them, there is nothing special to recommend this chapter, if you
have worked through the suggestions on FOL of the Guide.
Ch. 3 is titled ‘Formal number theory’. It presents a formal version of first-
order Peano Arithmetic, and shows you can prove some expected arithmetic
theorems within it. Then Mendelson defines the primitive recursive and the
(total) recursive functions, shows that these are representable (capturable) in
PA. It then considers the arithmetization of syntax, and proves Gödel’s first
incompleteness theorem and Rosser’s improvement. The chapter then proves
Church’s Theorem about the decidability of arithmetic. One difference between
editions is that the later proof of Gödel’s theorem goes via the Diagonalization
Lemma; another is that there is added a brief treatment of Löb’s Theorem.
At the time of publication of the original addition, this Chapter was a quite
exceptionally useful guide thorough the material. But now – at least if you’ve
read an accessible later account like my Gödel Without Tears or the equivalent
– then there is nothing especially to divert you here, except that Mendelson
does go through every single stage of laboriously showing that the relation m-
numbers-a-PA-proof-of-the-sentence-numbered-n is primitive recursive.
Ch. 4 is on set theory, and – rather unusually for a textbook – the system
presented is NBG (von Neumann/Bernays/Gödel) rather than ZF(C). In the first
edition, this chapter is under fifty pages, and evidently the coverage can’t be very
extensive and it also probably goes too rapidly for many readers. The revised
edition doesn’t change the basic treatment (much) but adds sections comparing
NBG to a number of other set theories. So while this chapter certainly can’t
replace the introductions to set theory recommended in the Guide, it could be
worth skimming briskly through the chapter in later editions to learn about
NBG and other deviations from ZF.
The original Ch. 5 on effective computability starts with a discussion of
Markov algorithms (again, unusual for a textbook), then treats Turing algo-
rithms, then Herbrand-Gödel computability and proves the equivalence of the
three approaches. There are discussions of recursive enumerability and of the
Kleene-Mostowski hierarchy. And the chapter concludes with a short discus-
sion of undecidable problems. In the later edition, the material is significantly
rearranged, with Turing now taking pride of place and other treatments of com-
putability relegated to near the end of the chapter; also more is added on decision
problems. Since the introductory texts mentioned in the Guide don’t talk about
Markov or Herbrand-Gödel computability, you might well dip into the chapter
briefly to round out your education!
I should mention the appendices. The first edition has a very interesting
4
2. Mendelson
♢
Summary verdict Although moderately accessible and extremely important in
its time, there is now less reason to plough through this book end-to-end. It
doesn’t have the charm and readability of Kleene 1952, and there are better
separate introductions to each of the main topics.
You could skim the early chapters if you’ve never seen axiomatic systems of
logic being used in earnest: it’s probably good for the soul. The appendix that
appears only in the first edition and fifth is interesting for enthusiasts. Look at
the section on non-standard analysis in the revised editions. If set theory is your
thing, you should dip and skim to get the headline news about NBG. And some
might want to expand their knowledge of definitions of computation by looking
at Ch. 5.
Revised 2023
5
3 Shoenfield, 1967
♢
Some details Chs. 1–4 cover first order logic, including the completeness theo-
rem. It has to be said that the logical system chosen is rebarbative. The primi-
tives are ␣, _, D, and “. Leaving aside the identity axioms, the axioms are the
instances of excluded middle, instances of φpτ q Ñ Dξφpξq, and then there are
five rules of inference. So this neither has the cleanness of a Hilbert system nor
the naturalness of a natural deduction system. Nothing is said to motivate this
seemingly horrible choice as against others.
Ch. 5 is a brisk introduction to some model theory getting as far as the Ryll-
Nardjewski theorem. I believe that the algebraic criteria for a first-order theory
to admit elimination of quantifiers given here are original to Shoenfield. But this
is surely all done very rapidly (unless you are using it as a terse revision course
6
3. Shoenfield
from quite an advanced base, going beyond what you will have picked up from
the reading suggested in the Guide).
Chs. 6–8 cover the theory of recursive functions and formal arithmetic. The
take-it-or-leave-it style of presentation continues. Shoenfield defines the recursive
functions as those got from an initial class by composition and regular minimiza-
tion: again, no real motivation for the choice of definition is given (and e.g. the
definition of the primitive recursive functions is relegated to the exercises). Un-
usually for a treatment at this sort of level, the discussion of recursion theory
in Ch. 8 goes far enough to cover a Gödelian ‘Dialectica’-style proof of the con-
sistency of arithmetic, though the presentation once more wins no prizes for
accessibility.
Ch. 9 on set theory is perhaps the book’s real original raison d’être; in fact,
it is a quarter of the whole text. The discussion starts by briskly motivating the
ZF axioms by appeal to the conception of the set universe as built in stages (an
approach that has become very common but at the time of publication was I
think much less usually articulated); but this isn’t the place to look for an in
depth development of that idea. For a start, there is Shoenfield’s own article ‘The
axioms of set theory’, Handbook of mathematical logic, ed. J. Barwise, (North-
Holland, 1977) pp. 321–344.
We get a brusque development of the elements of set theory inside ZF (and
then ZFC), and something about the constructible universe. Then there is the
first extended textbook presentation of Cohen’s 1963 independence results via
forcing, published just four years previous to the publication of this book: set
theory enthusiasts might want to look at this to help round out their under-
standing of the forcing idea. The discussion also touches on large cardinals.
This last chapter was in some respects a highly admirable achievement in its
time: but it is equally surely not now the best place to start with set theory in
general or forcing in particular, given the availability of later presentations.
♢
Summary verdict This is pretty tough going. Now surely only for very selective
dipping into by already-well-informed enthusiasts.
7
4 Kleene, 1967
♢
Some details The book divides into two parts. The first part, ‘Elementary
Mathematical Logic’ has three chapters. Ch. 1 is on the propositional calcu-
lus (including a Kalmár-style completeness proof). This presents a Hilbert-
style proof system with an overlay of derived rules which look rather natural-
deduction-like (but aren’t the real deal) There is a lot of fussing over details
in rather heavy-handed ways. I couldn’t recommend anyone nowadays starting
here, while if you’ve already read a decent treatment of the propositional cal-
culus (and e.g. looked at Mendelson to see how things work in a Hilbert-style
framework) you won’t get much more out of this.
Much the same goes for the next two chapters. Ch. 2 gives an axiomatic version
of the predicate calculus without identity, and Ch. 3 adds identity. (Note, a
completeness proof doesn’t come until the final chapter of the book). Again, these
chapters are not done with a sufficiently light touch to make them a particularly
attractive read now.
8
4. Kleene
The second part of the book is titled ‘Mathematical Logic and the Founda-
tions of Mathematics’. Ch.4 is basically an abridged version of the opening three
chapters of IM, covering the paradoxes, the idea of an axiomatic system, intro-
ducing formal number theory. You might like to read in particular §§36–37 on
Hilbert vs. Brouwer and ‘metamathematics’.
Ch. 5 is a sixty page chapter on ‘Computability and Decidability’. Kleene is
now on his home ground, and he presents the material (some original to him) in
an attractive and illuminating way, criss-crossing over some of the same paths
trodden in later chapters of IM. In particular, he uses arguments for incomplete-
ness and undecidability turning on use of the Kleene T -predicate (compare §33.7
of IGT1 or §43.8 of IGT2 ). This chapter is certainly worth exploring.
Finally, the long Ch. 6 proves the completeness theorem for predicate logic
by Beth/Hintikka rather than by Henkin (as we would now think of it, he in
effect shows the completeness of a tree system for logic in the natural way). But
nicer versions of this approach are available. The last few sections cover some
supplementary material (on Gentzen systems, Herbrand’s Theorem, etc.) but
again I think all of it is available more accessibly elsewhere
♢
Summary verdict Do read Chapter 5 on computability, incompleteness, decid-
ability and closely related topics. This is nicely done, complements Kleene’s ear-
lier treatment of the same material, and takes an approach which is interestingly
different from what you will mostly see elsewhere.
9
5 Robbin, 1969
♢
Some details Ch. 1 is on the propositional calculus. Robbin presents an ax-
iomatic system whose primitives are Ñ and K – or rather, in his notation,
Ą and f. The system, including the ‘dotty’ syntax which gives us wffs like
p1 Ą p2 ‚ Ą‚ p1 Ą f, is a version of Alzono Church’s system in his Introduc-
tion to Mathmatical Logic, Vol. 1 (1944/1956), except that where Church lays
down three specific wffs as axioms and has a substitution rule for deriving vari-
ant wffs, Robbin lays down three axiom schemas. (I should really say something
about Church’s classic book in this Appendix: but that’s for another day!)
As in later chapters, Robbin buries some interesting results in the extensive
exercises. Here’s one, pointed out to me by David Auerbach. Robbin defines
negation in the obvious way from his two logical primitives, so that „ φ “def
pφ Ñ fq. And then his three axiom schemas can all be stated in terms of Ą and
„, and his one rule is modus ponens. This system is complete. However, if we
take the alternative language with Ą and „ primitive, then the same deductive
system (with the same axioms and rules) is not complete. That’s a nice little
surprise, and it is worth trying to work out just why it is true.
Ch. 2 briefly covers first-order logic, including the completeness theorem. Then
Ch. 3 introduces what Robbin calls ‘First-order (Primitive) Recursive Arith-
10
5. Robbin
metic’ (RA). Robbin defines the primitive recursive functions, and then defines
a language which has a function expression for each p.r. function f (the idea
is to have a complex function expression built up to reflect a full definition of
f by primitive recursion and/or composition ultimately in terms of the initial
functions). RA has axioms for the logic plus axioms governing the expressions
for the initial functions, and then there are axioms for dealing with complex
functional expressions in terms of their constituents. RA also has all instances of
the induction schema for open wffs of the language (so – for cognoscenti – this
is a stronger theory than what is usually called Primitive Recursive Arithmetic
these days, which normally has induction only for quantifier-free wffs).
Ch. 4 explores the arithmetization of syntax of RA. Since RA has every p.r.
function built in, we don’t then have to go through the palaver of showing that
we are dealing with a theory which can represent all p.r. functions (in the way
we have to if we take standard PA as our base theory of interest). So in Ch. 5
Robbin can prove Gödel’s incompleteness theorem for RA in a more pain-free
way.
Ch. 6 then turns to second-order logic, introduces a version of second-order
PA2 with just the successor relation as primitive non-logical vocabulary. Rob-
bin shows that all the p.r. functions can be explicitly defined in PA2 , so the
incompleteness theorem carries over.
♢
Summary verdict Robbin’s book offers a different route through a rather differ-
ent selection of material than is usual, accessibly written and still worth reading
(you will be able to go though quite a bit of it pretty rapidly if you are up to
speed with the relevant basics. Look especially at Robbin’s Ch. 3 for the unusu-
ally detailed story about how to build a language with a function expression for
every p.r. function, and the last chapter for how in effect to do the same in PA2 .
11
6 Enderton, 1972, 2002
♢
Some details After a brisk Ch. 0 (‘Some useful facts about sets’, for future
reference), Enderton starts with a 55 page Ch. 1, ‘Sentential Logic’. Some might
think this chapter to be slightly odd. For the usual motivation for separating off
propositional logic and giving it an extended treatment at the beginning of a
book at this level is that this enables us to introduce and contrast the key ideas
of semantic entailment and of provability in a formal deductive system, and
then explain strategies for soundness and completeness proofs, all in a helpfully
simple and uncluttered initial framework. But (except for some indications in
final exercises) there is no formal proof system mentioned in Enderton’s chapter.
12
6. Enderton
So what does happen in this chapter? Well, we do get a proof of the expressive
completeness of t^, _, ␣u, etc. We also get an exploration (which can be post-
poned) of the idea of proofs by induction and the Recursion Theorem, and based
on these we get proper proofs of unique readability and the uniqueness of the
extension of a valuation of atoms to a valuation of a set of sentences containing
them (perhaps not the most inviting things for a beginner to be pausing long
over). We get a direct proof of compactness. And we get a first look at the ideas
of effectiveness and computability.
The core Ch. 2, ‘First-Order Logic’, is over a hundred pages long, and covers
a good deal. It starts with an account of first-order languages, and then there
is a lengthy treatment of the idea of truth in a structure. This is pretty clearly
done and mathematicians should be able to cope quite well (but does Enderton
forget his officially intended audience on p. 83 where he throws in an unexplained
commutative diagram?). Still, readers might sometimes appreciate rather more
explanation (for example, surely it would be worth saying a bit more than that
‘In order to define ‘σ is true in A’ for sentences σ and structures A, we will
find it desirable [sic] first to define a more general concept involving wffs’, i.e.
satisfaction by sequences).
Enderton then at last introduces a deductive proof system (110 pages into the
book). He chooses a Hilbert-style presentation, and if you are not already used
to such a system, you won’t get much of a feel for how they work, as there are
very few examples before the discussion turns to metatheory (even Mendelson’s
presentation of a similar Hilbert system is here more helpful). Then, as you’d
expect, we get the soundness and completeness theorems. The proof of the latter
by Henkin’s method is nicely chunked up into clearly marked stages, and again
a serious mathematics student should cope well: but this is still not, I think, a
‘best buy’ among initial presentations.
The chapter ends with a little model theory – compactness, the LS theorems,
interpretations between theorems – all rather briskly done, and there is an ap-
plication to the construction of infinitesimals in non-standard analysis which is
surely going to be too compressed for a first encounter with the ideas.
Ch. 3, ‘Undecidability’, is also a hundred pages long and again covers a great
deal. After a preview introducing three somewhat different routes to (versions
of) Gödel’s incompleteness theorem, we initially meet:
2. A theory with successor and the order relation (also shown to admit elim-
ination of quantifiers and to be complete).
13
6. Enderton
♢
Summary verdict To repeat, A Mathematical Introduction to Logic is good in
many ways, but is – in my view – often a step or two more difficult in mode
of presentation than will suit many readers wanting an introduction to the ma-
terial it covers. However, if you have already read an entry-level presentation
of first order logic (e.g. Chiswell/Hodges) then you could read Chs 1 and 2 as
revision/consolidation. And if you have already read an entry-level presentation
on incompleteness (e.g. my book) then it could be well worth reading Ch. 3 as
bringing the material together in a somewhat different way.
14
7 Ebbinghaus, Flum & Thomas, 1978,
2021
♢
Some details about Part A The book is divided into two parts. EFT start Part
A with a gentle opening chapter talking about a couple of informal mathematical
theories (group theory, the theory of equivalence relations), giving a couple of
simple informal proofs in those theories. They then stand back to think about
what goes on in the proofs (where an arbitrary item in a domain is selected, a
result proved and then universally generalized); and they introduce the project
of formalization. So far, so nice.
Ch. 2 describes the syntax of first-order languages, and proves some unique
parsing results relatively painlessly. (EFT take the usual line of using the same
15
7. Ebbinghaus, Flum & Thomas
symbols for both free and bound variables which causes the usual extra work.
Also, a minor annoyance, they use ‘”’ rather than ‘“’ as the object language
sign for identity.)
Ch. 3 does the semantics for FOL. The presentation goes at a fairly gentle
pace, with some useful asides (e.g. on handling the many-sorted languages of
informal mathematics using a many-sorted calculus vs. use restricted quantifiers
in a single-sorted calculus). EFT though do make quite heavy work of some
points of detail, but overall this is an approachable version of a standard story.
Ch. 4 is called ‘A Sequent Calculus’. And here I am less happy.
For a start (albeit a minor point, but one that badly affects readability),
instead of writing a sequent as ‘Γ $ φ’, or ‘Γ ñ φ’, or even ‘Γ : φ’, EFT just
write an unpunctuated ‘Γ φ’. They even write the unpunctuated ‘Γ, φ, ψ’ for
‘Γ, φ, $ ψ’. Strange!
EFT have by this point decided to take only ␣, _, and D as basic, and give
rules just for these. Given the paucity of basic operators, EFT are not aiming
for natural deduction in sequent form; nor are they aiming for a classical system
which nicely relates to an intuitionistic subsystem. Proofs are simple linear se-
quences of sequents (no Gentzen-style trees). The resulting system is economical,
and we quickly e.g. get a cut rule for free. But the distinction between structural
and operation rules usually highlighted by presentations of a sequent calculus is
arguably somewhat glossed over. So I’m not sure that I’d recommend this as the
first-proof system to encounter.
Ch. 5 gives a Henkin completeness proof for first-order logic. For my money,
there’s too much symbol-bashing and not enough motivating chat here. And I
don’t think it is good exegetical policy to complicate matters as EFT do by
going straight for a proof for the predicate calculus with identity, though they
are not alone in this.
Ch. 6 is rather briskly about The Löwenheim-Skolem Theorem, compactness,
and elementarily equivalent structures (clear enoug, and would be good revision
material).
Ch. 7, ‘The Scope of First-Order Logic’ is really rather odd. It briskly argues
that first-order logic is the logic for mathematics (readers of Shapiro’s book on
second-order logic won’t be so quickly convinced!). The reason given is that we
can reconstruct (nearly?) all mathematics in first-order ZF set theory – which
the authors then proceed to give the axioms for. These few pages surely wouldn’t
help if you have never seen the axioms before and don’t already know about the
project of doing-maths-inside-set-theory.
Finally in Part A, there’s rather ill-written chapter on normal forms, on ex-
tending theories by definitions, and (badly explained) on what the authors call
‘syntactic interpretations’.
♢
Some details about Part B The second part of the book discusses a number of
rather scattered topics. It kicks off with a rather nice little chapter on extensions
16
7. Ebbinghaus, Flum & Thomas
♢
Summary verdict This is a perfectly respectable book, but the core material in
Part A of the book is covered better (more accessibly, more elegantly) elsewhere.
Of the supplementary chapters in Part B, the two chapters that stand out as
worth looking at are perhaps Ch. 9 on extensions of first-order logic, and Ch. 13
(though not easy) on Lindström’s Theorems.
Revised 2023
17
8 Van Dalen, 1980, 2012
♢
Some details Ch. 1 on ‘Propositional Logic’ gives
a presentation of the usual truth-functional seman-
tics, and then a natural deduction system (initially with primitive connectives
Ñ and K). This is overall pretty clearly done – though really rather oddly,
although van Dalen uses in his illustrative examples of deductions the usual
practice of labelling a discharged premiss with numbers and using a matching
label to mark the inference move at which that premiss is discharged, he doesn’t
pause to explain the practice in the way you would expect. Van Dalen then gives
a standard Henkin proof of completeness for this cut-down system, before re-
introducing the other connectives into his natural deduction system in the last
section of the chapter. Compared with Chiswell and Hodges, this has a somewhat
less friendly, more conventional, mathematical look-and-feel: but this is still an
accessible treatment, and will certainly be very readily manageable if you’ve read
C&H first. (It should be noted that van Dalen can be surprisingly slapdash. For
example, a tautology is defined is defined to be an (object-language) proposition
which is always true. But then the meta-linguistic schema φ ^ ψ Ø ψ ^ φ is said
to be a tautology. He means the instances are tautologies; compare Mendelson
who really does think tautologies are schemata. Again, van Dalen presents his
natural deduction system, says he is going to give some ‘concrete cases’, but
then presents not arguments in the object language, but schematic templates
for arguments, written out using ‘φ’s and ‘ψ’s again.)
Ch. 2 describes the syntax of a first-order language, gives a semantic story,
and then presents a natural deduction system, first adding quantifier rules, then
18
8. Van Dalen
adding identity rules. Overall, this is pretty clearly done (though van Dalen
reuses variables as parameters, which isn’t the nicest way of setting things up).
The approach to the semantics is to consider an extension of a first order lan-
guage L with domain A to an augmented language LA which has a constant a
for every element a P A; and then we can say @xφpxq is true if all φpaq are true.
Fine: though it would have been good if van Dalen had paused to say a little
more about the pros and cons of doing things this way rather than the more
common Tarskian way that students will encounter. (Let’s complain some more
about van Dalen’s slapdash ways. For example, he talks about ‘the language of
a similarity type’ in §2.3, but gives examples of different languages of the same
similarity type in §2.7. He fusses unclearly about different uses of the identity
sign in §2.3, before going on to make use of the symbolism ‘:=’ in a way that
isn’t explained, and is different from the use made of it in the previous chapter.
This sort of thing could upset the more pernickety reader.)
Ch. 3, ‘Completeness and Applications’, gives a pretty clear presentation of a
Henkin-style completeness proof, and then the compactness and L-S theorems.
The substantial third section on model theory goes rather more speedily, and
you’ll need some mathematical background to follow some of the illustrative
examples. The final section newly added in the fifth edition on the ultraproduct
construction speeds up again and is probably too quick to be useful to many.
Ch. 4 is quite short, on second-order logic. If you have already seen a pre-
sentation of the basic ideas, this quick presentation of the formalities could be
helpful.
Ch. 5 is on intuitionism – this is a particular interest of van Dalen’s, and his
account of the BHK interpretation as motivating intuitionistic deduction rules,
his initial exploration of the resulting logic, and his discussion of the Kripke
semantics are quite nicely done (though again, this chapter will probably work
better if you have already seen the main ideas in a more informal presentation
before).
Ch. 6 is on proof theory, and in particular on the idea that natural deduction
proofs (both classical and intutitionistic) can be normalized. Most readers will
find a more expansive and leisurely treatment much to be preferred.
The final 50 page Ch. 7 is more leisurely. It starts by introducing the ideas
of primitive recursive and partial recursive functions, and the idea of recursively
enumerable sets, leading up to a proof that there exist effectively inseparable r.e.
sets. We then turn to formal arithmetic, and prove that recursive functions are
representable (because his version of PA does have the exponential built in, van
Dalen doesn’t need to tangle with the β-function trick.). Next we get the arith-
metization of syntax and proofs that the numerical counterparts of some key
syntactic properties and relations are primitive recursive. Then, as you would
expect, we get the diagonalization lemma, and that is used to prove Gödel’s first
incompleteness theorem. We then get another proof relying on the earlier result
that there are effectively inseparable r.e. sets, and going via the undecidability
of arithmetic. The chapter finishes by announcing that there is a finitely axiom-
atized arithmetic strong enough to represent all recursive properties/relations,
19
8. Van Dalen
♢
Summary verdict Revisiting this book, I find it a rather patchily uneven read.
Although intended for beginners in mathematical logic, the level of difficulty
of the discussions rather varies, and the amount of more relaxed motivational
commentary also varies. As noted there are occasional lapses where van Dalen’s
exposition isn’t as tight as it could be. So this is probably best treated as a book
to be read after you’ve had a first exposure to the material in the various chap-
ters: but then it should indeed prove pretty helpful for consolidating/expanding
your initial understanding and then pressing on a few steps.
20
9 Prestel & Delzell, 1986, 2011
21
10 Johnstone, 1987
22
11 Hodel, 1995
♢
Some details Ch. 1 ‘Background’ is an unusually wide-ranging introduction
to ideas the budding logician should get her head round early. We get a first
informal pass at the notions of a formal system and of an axiomatized system
in particular, the idea of proof by induction, a few notions about sets, functions
and relations, the idea of countability, the ideas of an algorithmically computable
function and of effective decidability. We even get a first pass at the idea of a
recursive function (and a look at Church’s Thesis about how the informal idea
of being computable relates to the idea of recursiveness). This is very lucidly
done, and can be recommended.
Ch. 2 is on ‘The language and semantics of propositional logic’ and is again
pretty clearly done.
23
11. Hodel
♢
Summary verdict Beginners could all usefully read Hodel’s opening chapter,
which is better than usual in setting the scene, and supplying the student with
a useful toolkit of preliminary ideas. The presentation of first-order logic in Chs.
24
11. Hodel
2-6 is based around an unattractive formal system, and while the discussion of
the usual meta-theoretic results is pretty clear, it doesn’t stand out from the
good alternatives: so overall, I wouldn’t recommend this as your first encounter
with serious logic.
Students, however, might find Chs. 7 and 8 provide a nice complement to
other discussions of Gödelian incompleteness and Church and Tarski’s Theorems.
While more advanced students could revise their grip on basic definitions and
results by (re)reading §§8.1–8.5 and then enjoy tackling Ch. 10 on Hilbert’s
Tenth Problem.
25
12 Goldstern & Judah, 1995
♢
Some details Ch. 1 starts by talking about inductive proofs in general, then
gives a semantic account of sentential and then first-order logic, then offers a
Hilbert-style axiomatic proof system.
Very early on, the authors introduce the notion of M-terms and M-formulae.
An M-term (where M is model for a given first-order language L) is built up
from L-constants, L-variables and/or elements of the domain of M, using L-
function-expressions; an M-formula is built up from M-terms in the predictable
way. Any half-awake student is initially going to balk at this. Re-reading the
set-theoretic definitions of expressions as tuples, she will then realize that the
apparently unholy mix of bits of language and bits of some mathematical domain
in an M-term is not actually incoherent. But she will rightly wonder what on
earth is going on and why: our authors don’t pause to explain why we might
want to do things like this at the very outset. (A good student who knows other
presentations of the basics of first-order semantics should be able to work out
after the event what is going on in the apparent trickery of Goldstern and Judah’s
sort of story: but I really can’t recommend starting like this, without a good and
expansive explanation of the point of the procedure.)
26
12. Goldstern & Judah
Ch. 2 gives a Henkin completeness proof for the first-order deductive system
given in Ch. 1. This has nothing special to recommend it, as far as I can see: there
are many more helpful expositions available. The final section of the chapter is
on non-standard models of arithmetic: Boolos and Jeffrey (Ch. 17 in their third
edition) do this more approachably.
Ch.3 is on model theory. There are three main sections, ‘Elementary substruc-
tures and chains’, ‘ultra products and compactness’, and ‘Types and countable
models’. So this chapter – less than sixty pages – aims quite high to be talking
e.g. about ultraproducts and about omitting types. You could indeed usefully
read it after working through e.g. Manzano’s book: but I certainly don’t think
this chapter makes for an accessible and illuminating first introduction to serious
model theory.
Ch. 4 is on incompleteness, and the approach here is significantly more gentle
than the previous chapter. Goldstern and Judah make things rather easier for
themselves by adopting a version of Peano Arithmetic which has exponentiation
built in (so they don’t need to tangle with Gödel’s β function). And they only
prove a semantic version of Gödel’s first incompleteness theorem, assuming the
soundness of PA. The proof here goes as by showing directly that – via Gödel
coding – various syntactic properties and relations concerning PA are expressible
in the language of arithmetic with exponentiation (in other words, they don’t
argue that those properties and relations are primitive recursive and then show
that PA can express all such properties/relations).
How well, how accessibly, is this done? The authors hack through eleven pages
(pp. 207–217) of the arithmetization of syntax, but the motivational commentary
is brisk and yet the proofs aren’t completely done (the authors still leave to the
reader the task of e.g. coming up with a predicate satisfied by Gödel numbers
for induction axioms). So this strikes the present reader as really being neither
one thing nor another – neither a treatment with all the details nailed down,
nor a helpfully discursive treatment with a lot of explanatory arm-waving. And
in the end, the diagonalization trick seems to be just pulled like a rabbit out
of the hat. After proving incompleteness, they prove Tarksi’s theorem and the
unaxiomatizability of the set of arithmetic truths.
To repeat, the authors assume PA’s soundness. They don’t say anything about
why we might want to prove the syntactic version of the first theorem, and don’t
even mention the second theorem which we prove by formalizing the syntactic
version. So this could well leave students a bit mystified when they come across
other treatments.
The book ends by noting that the relevant predicates in the arithmetization
of syntax are Σ1 , and then defines a set as being recursively enenumerable if it
is expressible by a Σ1 predicates (so now talk of recursiveness etc. does get into
the picture). But really, if you want to go down this route, this is surely all much
better handled in Leary and Kristiansen’s book.
♢
27
12. Goldstern & Judah
Summary verdict The first two chapters of this book can’t really be recom-
mended either for making a serious start on first-order logic or for revision. The
third chapter could be used for a brisk revision of some model theory if you have
already done some reading in this area. The final chapter about incompleteness
(which the title of the book might lead you to think will be a high point) isn’t
the most helpful introduction in this style – go for Leary and Kristiansen (2015)
instead – and on the other hand doesn’t go far enough for revision/consolidatory
purposes.
28
13 Rautenberg, 1995, 2010
♢
Some details Chapter 1 is a snappy treatment of propositional logic. The formal
calculus of sequents offered is a close cousin of the one in Ebbinghaus, Flum and
Thomas text, except where they take ␣ and _ to be primitive, Rautenberg has ␣
and ^. In both texts, given the paucity of basic operators, the respective authors
are not really aiming for natural deduction in sequent form; nor are they aiming
for a classical system which nicely relates to an intuitionistic subsystem. But
this is all crisply done, and could make for good revision material.
Chapter 2 starts with section on structures, which will probably go too fast for
those not already familiar with the ideas. Then the rest of the chapter discusses,
again at pace, the syntax and semantics of FOL languages, the relevant idea of
semantic consequence, and the idea of theories. It is all perfectly respectable of
course, but not really recommendable as an attractive treatment. The same goes
for Chapter 3, whose main focus is the completeness theorem. We get a dense
account (which deals with FOL with identity and with uncountable languages
from the start), and not enough intuitive motivation for my money.
Things are already pretty hard going, but then, as the Preface frankly says,
“Starting from Chapter 4, the demands on the reader begin to grow. ... The
29
13. Rautenberg
density of information in the text is rather high; a newcomer may need one
hour for one page.” That’s hardly an advertisement for the sort of book that
appeals to me, and I rather doubt the book will overall appeal to many who
aren’t mathematical masochists. Chapter 4 is a rapid look at Herbrand’s The-
orem, unification, and “the foundations of logic programming”, and Chapter 5
zips through some “elements of model theory” at speed. There are surely more
accessible and illuminating treatments of this material, both for a first pass
through, and for higher-level consolidation/further exploration.
Chapter 6, however, is much more approachable, on recursive functions, in-
completeness and undecidability, and could well be helpful (though probably
not as your first encountner with these topics). The next chapter continues the
incompleteness theme by starting with an unusually detailed account of how
you prove the derivability conditions for PA. Then there are sections on Gödel’s
second theorem and Löb’s theorem. Like Ch. 6, again useful.
But Chapter 7 (and the book) concludes with some sections giving a rather
dense/opaque discussion of provability logic which I can’t recommend.
♢
Summary verdict Concise by name, concise by nature. Too concise as an in-
troduction, by my lights. And mostly not particularly reader-friendly for re-
vision/consolidation purposes either. However, Chapter 6 and the first half of
Chapter 7 on recursive functions and incompleteness etc. could well make for
useful further reading once you already know the basics.
30
14 Forster, 2003
♢
Some details Ch. 1 is called ‘Definitions and notations’ but is rather more
than that, and includes some non-trivial exercises: but if you are dipping into
later parts of the book, you can probably just consult this opening chapter on a
need-to-know basis.
Ch. 2 discusses ‘Recursive datatypes’, defined by specifying a starter-pack of
‘founders’ and some constructors, and then saying the datatype is what you
can get from the founders by applying and replying the constructors (and noth-
ing else). The chapter considers a range of examples, induction over recursive
datatypes, well-foundedness, well-ordering and related matters (with some in-
teresting remarks about Horn clauses too).
Ch. 3 is on partially ordered sets, and we get a lightning tour through some
topics of logical relevance (such as the ideas of a filter and an ultrafilter).
Chs. 4 and 5 deal slightly idiosyncratically with propositional and predicate
logic, and could provide useful revision material (there’s a slip about theories on
p. 70, giving two non-equivalent definitions).
Ch. 6 is on ‘Computable functions’ and is another lightning tour, touching on
quite a lot in just over twenty pages (getting as far as Rice’s theorem). Again,
31
14. Forster
could well be useful to read as revision, especially if you want to highlight again
the Big Ideas and their interrelations.
Ch. 7 is on ‘Ordinals’. Note that Forster gives us the elements of the theory
of transfinite ordinal numbers before turning to set theory in the next chapter.
It’s a modern doctrine that ordinals just are sets, and that the basic theory of
ordinals is part of set theory; and in organizing his book as he does, Forster
comes nearer than most to getting the correct conceptual order into clear focus
(though even he wobbles sometimes, e.g. at p. 182). However, the chapter could
have been done more clearly.
Ch. 8 is called ‘Set Theory’ and is perhaps the quirkiest of them all – though
not because Forster is here banging the drum for non-standard set theories (sur-
prisingly given his interests, he doesn’t). But the chapter is oddly structured, so
for example we get a quick discussion of models of set theory and the absolute-
ness of ∆0 properties before we actually encounter the ZFC axioms. The chapter
is probably only for those, then, who already know the basics.
Ch. 9 comprises answers to some of the earlier exercises – exercises are indeed
scattered through the book, and some of them are rather interesting.
♢
Summary verdict Different from the usual run of textbooks, not a good choice
for beginners. However, if you already have encountered some of the material in
one way or the other, Forster’s book could very well be worth looking through
for revision and/or to get some new perspectives.
32
15 Hedman, 2004
♢
Some details After twenty pages of mostly rather
nicely done ‘Preliminaries’ – including an admirably clear couple of pages the P
= NP problem, Ch. 1 is on ‘Propositional Logic’. On the negative side, we could
certainly quibble that Hedman is a bit murky about object-language vs meta-
language niceties. The treatment of induction half way through the chapter isn’t
as clear as it could be. Much more importantly, the chapter offers a particularly
ugly formal deductive system. It is in fact a (single conclusion) sequent calculus,
but with proofs constrained to be a simple linear column of wffs. So – heavens
above! – we are basically back to Lemmon’s Beginning Logic (1965). Except that
the rules are not as nice as Lemmon’s (thus Hedman’s ^-elimination rule only
allows us to extract a left conjunct; so we need an additional ^-symmetry rule
to get from P ^ Q to Q). I can’t begin to think what recommended this system
to the author out of all the possibilities on the market. On the positive side,
there’s quite a nice treatment of a resolution calculus for wffs in CNF form, and
a proof that this is sound and complete. This gives Hedman a completeness proof
for derivations in his original calculus with a finite number of premisses, and he
gives a compactness proof to beef this up to a proof of strong completeness.
Ch. 2, ‘Structures and first-order logic’ should really be called ‘Structures and
first-order languages’, and deals with relations between structures (like embed-
ding) and relations between structures and languages (like being a model for a
sentence). I’m not sure I quite like its way of conceiving of a structure as always
some V-structure, i.e. as having an associated first-order vocabulary V which it
33
15. Hedman
is the interpretation of – so structures for Hedman are what some would call
labelled structures. But otherwise, this chapter is clearly done.
Ch. 3 is about deductive proof systems for first-order logic. The first deductive
system offered is an extension of the bastardized sequent calculus for proposi-
tional logic, and hence is equally horrible. Somehow I sense that Hedman just
isn’t much interested in standard proof-systems for logic. His heart is in the rest
of the chapter, which moves towards topics of interest to computer scientists,
about Skolem normal form, the Herbrand method, unification and resolution,
so-called ‘SLD-resolution’, and Prolog – interesting topics, but not on my menu
of basics to be introduced at this very early stage in a first serious logic course.
The discussions seem quite well done, and will be accessible to an enthusiast
with an introductory background (e.g. from Chiswell and Hodges) and who has
read the section of resolution in the first chapter.
Ch. 4 is on ‘Properties of first-order logic’. The first section is a nice presen-
tation of a Henkin completeness proof (for countable languages). There is then
a long aside on notions of infinite cardinals and ordinals (Hedman has a policy
of introducing background topics, like the idea of an inductive proof, and now
these set theoretic notions, only when needed: but it can break the flow). §4.3
can use the assumed new knowledge about non-countable infinities to beef up the
completeness proof, give upwards and downwards LS theorems, etc., again done
pretty well. §§4.4–4.6 does some model theory under the rubrics ‘Amalgamation
of structures’. ‘Preservation of formulas’ and ‘Amalgamation of vocabularies’:
this already gets pretty abstract and uninviting, with not enough motivating
examples. §4.7 is better on ‘The expressive power of first-order logic’.
The next two chapters, ‘First order theories’ and ‘Models of countable the-
ories’, give a surprisingly (I’d say, unrealistically) high level treatment of some
model theory, going well beyond e.g. Manzano’s book, eventually talking about
saturated models, and even ending with ‘A touch of stability’. This hardly chimes
with the book’s prospectus as being a first course in logic. The chapters, however,
could be useful for someone who wants to push onwards, after a first encounter
with some model theory.
Ch. 6 comes sharply back to earth: an excellent chapter on ‘Computability
and complexity’ back at a sensibly introductory level. It begins with a well
done review of the standard material on primitive recursive functions, recursive
functions, computing machines, semi-decidable decision problems, undecidable
decision problems. Which is followed by a particularly clear introduction to ideas
about computational complexity, leading up to the notion of NP-completeness.
An excellent chapter.
Sadly, the following Ch. 8 on the incompleteness theorems again isn’t very
satisfactory as a first pass through this material. In fact, I doubt whether a
beginning student would take away from this chapter a really clear sense of
what the key big ideas are, or of how to distinguish the general results from the
hack-work needed to show that they apply to this or that particular theory. And
things probably aren’t helped by proving the first theorem initially by Boolos’s
method rather than Gödel’s. Still, just because it gives an account of Boolos’s
34
15. Hedman
proof, this chapter can be recommended as supplementary reading for those who
have already seen some standard treatments of incompleteness.
The last two chapters ratchet up the difficulty again. Ch. 9 goes ‘Beyond
first-order logic’ by speeding through second-order logic, infinitary logics (par-
ticularly Lω1 ω ), fixed-point logics, and Lindström’s theorem, all in twenty pages.
This will probably go too fast for those who haven’t encountered these ideas be-
fore. It should be noted that the particularly brisk account of second-order logic
gives a non-standard syntax and says nothing about Henkin vs full semantics.
The treatment of fixed-point logics (logics that are ‘closed under inductive defi-
nitions’) is short on motivation and examples. But enthusiasts might appreciate
the treatment of Lindström’s theorem.
Finally, Ch. 10 is on finite model theory and descriptive complexity. Beginners
doing a first course in logic will again find this quite tough going.
♢
Summary verdict A very uneven book in level, with sections that work well at
an introductory level and other sections which will only be happily managed by
considerably more advanced students. An uneven book in coverage too. By my
lights, this couldn’t be used end-to-end as a course text: but in the body of the
Guide, I’ve recommended parts of the book on particular topics.
35
16 Hinman, 2005
36
16. Hinman
As you can imagine, this convention eventually leads to really nasty rashes of
dots – for example, to take a relatively tame example from p. 459, we get
ď9 9 : Dvrv P9 x ^ z P9 vsu
x“ 9 tz
(note how even opening braces in formal set-former notation get dotted). This
dottiness quite surely isn’t a happy choice!
♢
Some details Hinman himself in his Preface gives some useful pointers to routes
through the book, depending on your interests.
The Introduction gives a useful and approachable overview of some key no-
tions tied up with the mathematical logician’s project of formalization (and
talks about a version of Hilbert’s program as setting the scene for some early
investigations).
Ch. 1 is on ‘Propositional Logic and other fundamentals’. §§1.1, 1.3 and 1.4
are devoted to the language of propositional logic, and give the usual semantics,
define the notion tautological entailment and explore its properties, giving a
proof of the compactness theorem. But note, there is no discussion at all here
– or in the other sections of this chapter – of a proof-system for propositional
logic.
§1.2 is a rather general treatment of proofs by induction and the definition of
functions by recursion (signposted as skippable at this early stage – and indeed
the generality doesn’t make for a particularly easy read for a section so early in
the book). §§1.6 and 1.7 also cover more advanced material, mainly introducing
ideas for later use: the first briskly deals e.g. with ultrafilters and ultraproducts
(we get another take on compactness), and the second relates compactness to
topological ideas and also introduces the idea of a Boolean algebra.
Ch. 2, ‘First-order logic’, presents the syntax and semantics of first-order lan-
guages, and then talks about first-order structures (isomorphisms, embeddings,
extensions, etc), and proves the downward L-S theorem. We then get a general
discussion of theories (thought of as sets of sentences closed under semantic con-
sequence), and an extended treatment of some examples (the theory of equality,
the theory of dense linear orders, and various strengths of arithmetic). There’s
some quite sophisticated stuff here, including discussion of quantifier elimina-
tion. But there is still no discussion yet of a proof-system for first-order logic,
so the chapter could as well, if not better, have been called ‘Elements of model
theory’.
Ch. 3, ‘Completeness and compactness’, starts with a compactness proof for
countable languages. Then we at last have a very brisk presentation of an old-
school axiomatic system for first-order logic (I told you that Hinman is not
interested in proof-systems!), and a proof of completeness using the Henkin con-
struction that has already been used in the compactness proof.
We next get – inter alia – an algebraic proof of compactness for first-order
consequence via ultraproducts, and a return to Boolean algebras and e.g. the
37
16. Hinman
38
16. Hinman
♢
Summary verdict It is very ambitious to write a book with this range and depth
of coverage (as it were, an expanded version of Shoenfield, forty years on – but
now when there is already a wealth of textbooks on the various areas covered,
at various levels of sophistication). After such a considerable labour from a good
logician, it seems very churlish to say it, but the treatments of, respectively, (i)
first-order logic, (ii) model theory, (iii) computability theory and incompleteness,
and (iv) set theory aren’t as good as the best of the familiar stand-alone text-
books on the four areas. And I can’t see that these shortcomings are balanced by
any conspicuous advantage in having the accounts in a single text, rather than
a handful of different ones. Still, the text should be in any university library,
as enthusiasts might well find parts of it quite useful supplementary/reference
material. Chapters 4, 5 and 8 on computability and recursion work the best.
39
17 Chiswell & Hodges, 2007
40
17. Chiswell & Hodges
3. The really cute touch is to introduce the idea of polynomials and diophan-
tine equations early – in fact, while discussing quantifier-free arithmetic
– and to state (without proof!) Matiyasevich’s Theorem. Then, in the
Postlude, this can be appealed to for quick proofs of Church’s Theorem
and Gödel’s Theorem.
This is all done with elegance and a light touch – not to mention photos of major
logicians and some nice asides – making an admirably attractive introduction to
the material.
♢
Some details C&H start with almost 100 pages on the propositional calculus.
Rather too much of a good thing? Perhaps, if you have already done a logic
course at the level of my intro book or Paul Teller’s. Still, you can easily skim
and skip. After Ch. 2 which talks about informal natural deductions in mathe-
matical reasoning, Ch. 3 covers propositional logic, giving a natural deduction
system (with some mathematical bells and whistles along the way, being careful
about trees, proving unique parsing, etc.). The presentation of the formal natural
deduction system is not exactly my favourite in its way representing discharge of
assumptions (I fear that some readers might be puzzled about vacuous discharge
and balk at Ex. 2.4.4 at the top of p. 19): but apart from this little glitch, this is
done well. The ensuing completeness proof is done by Hintikka’s method rather
than Henkin’s.
After a short interlude, Ch. 5 treats quantifier-free logic. The treatment of
the semantics without quantifiers in the mix to cause trouble is very nice and
natural; likewise at the syntactic level, treatment of substitution goes nicely in
this simple context. Again we get a soundness and Hintikka-style completeness
proof for an appropriate natural deduction system.
Then, after another interlude, Ch 7 covers full first-order logic with iden-
tity. Adding natural deduction rules (on the syntactic side) and a treatment of
satisfaction-by-finite-n-tuples (on the semantic side) all now comes very smoothly
after the preparatory work in Ch. 5. The Hintikka-style completeness proof for
the new logic builds very nicely on the two earlier such proofs: this is about as
accessible as it gets in the literature, I think. The chapter ends with a look at
the Löwenheim-Skolem theorems and ‘Things that first-order logic cannot do’.
Finally, as explained earlier, material about diophantine equations introduced
naturally by way of examples in earlier chapters is used in a final Postlude to
give us undecidability and incompleteness results very quickly (albeit assuming
Matiyasevich’s Theorem).
♢
Summary verdict C&H have written a very admirably readable and nicely
structured introductory treatment of first-order logic that can be warmly rec-
ommended. The presentation of the syntax of their type of (Gentzen-Prawitz)
41
17. Chiswell & Hodges
42
18 Srivastava, 2008, 2013
♢
Some details about the first edition In his Preface, Srivastava writes “Serious
efforts have been made to make the book suitable for both instructional and self-
reading purposes.” And indeed the book strikes me as mostly admirably clear;
the brevity is mainly the result of a tight focus on a selection of main topics.
Though a real beginner launching herself on solo study would occasionally miss
the kind of classroom chat which e.g. can help to motivate key constructions.
Chapter 1 is on the syntax, Chapter 2 on the semantics of first-order languages.
The semantics is kept simple by the device of taking expanded languages with
a name for every object in the domain. So that we can put DvApvq true in the
expanded language (interpreted in a given structure, with everything named)
iff, for some a in the domain, Apia q is true (where ia names a in the expanded
language). Then a closed sentence in the original languages counts as true if true
in the expanded language. Though a beginner could probably do with rather
more running commentary about this approach. The chapter ends with a little
about embeddings, substructres, etc. So far, so good.
Chapter 3 introduces propositional languages, with syntax, semantics, and a
proof of compactness neatly done. Then there is a proof system for propositional
logic, and here I have to say I don’t particularly like the chosen system. Just ␣
43
18. Srivastava
and _ are primitive; we have all instances of excluded middle as axioms; and
then there are four rules of inference – from A infer B _ A, from A _ A infer A,
from A _ pB _ Cq infer pA _ Bq _ C, and from pA _ Bq and ␣A _ C infer B _ C.
Of course it all works to give a sound and complete classical logic if we add the
usual definitions for the other connectives. But is it elegant? Is it natural? Does
it make for nice proofs? We certainly get a a messy few pages leading up to a
completeness proof.
Chapter 4 gives us a proof system for FOL (with ␣, _ and D primitive).
The axioms are as for propositional logic plus axioms governing identity, and
all instances of Art{xs Ñ DxA under the usual conditions. The rules are as for
propositional logic plus the rule that from A Ñ B with x not free in B we can
infer DxA Ñ B. Again not exactly beautiful, and the quantifier rules are prob-
ably not expansively enough explained for beginners. After some metatheorems
and a general discussion of consistency and completeness, we get a proof of com-
pleteness at the beginning of Chapter 5: this is quite nicely done. But overall not
a ‘best buy’ as far as treatments of this essential material on FOL is concerned.
The rest of Chapter 5 (in this first edition) gives entry-level discussions of
interpreting one theory in another, of extending a theory by definitions, and then
turns to the Compactness Theorem and some elementary applications. There’s a
section on complete theories. And this helpful chapter finishes with a very brief
discussion of some applications in algebra.
Chapter 6 turns to discuss recursive functions and arithmetization. Recursive-
ness is defined in terms of a generous supply of initial functions, composition and
regular minimization. In other words, closure under primitive recursion has to
be proved. I don’t find this a particularly attractive or natural approach (ok, it
makes the proof of results the representability of recursive functions easier, but
at the price of making recursiveness a less intuitively appealing notion). Chapter
7 on incompleteness makes another disputable choice – we get Gödel only in the
form “Every axiomatized, consistent extension of N [a certain formal arithmetic]
is undecidable and so incomplete.” Then the discussion is followed by a perhaps
rather opaque treatment of the arithmetic hierarchy. Again, not the best place
to start for beginners.
♢
A note on the second edition’s added material In the revised version, most of
the old Chapter 5 gets absorbed into an expanded Chapter 4 and we have an
almost entirely new Chapter 5 on ‘Model Theory’. At 56 pages long, this is by far
the most substantial chapter in the book. And it seems to me that the difficulty
level is ratcheted up a notch or three as well. We get as far as theorems like
this: Let T be a countable, complete, ω-stable theory, with M ( T and A Ă M .
Then the isolated types are dense in SnM pAq. Now, this hardly counts as really
entry-level model theory, does it? So what we have in this chapter is a quite
rapid-fire tour through some model-theoretic ideas which might provide useful
revision material for some.
44
18. Srivastava
♢
Summary verdict Someone who has already met treatments of FOL and com-
putability/incompleteness could well profit from a brisk read through the 134
pages of this first edition of this text, pausing over points of interest and thinking
about the pros and cons of tackling things Srivastava’s way. The added chapter
in the second edition might be of use to suitably primed readers, but I can’t
recommend for beginners.
45
19 Leary & Kristiansen, 2015
♢
Some details Ch. 1, ‘Structures and languages’, starts by talking of first-order
languages (The authors make the good choice of not starting over again with
46
19. Leary & Kristiansen
propositional logic, but assume that most readers will know their truth-tables
so just give quick revision). The chapter then moves on to explaining the idea
of first order structures, and truth-in-a-structure. There is a good amount of
motivational chat as we go through, and the exercises – as elsewhere in the
book – seem particularly well-designed to aid understanding. (The solutions to
exercises added to the new edition makes the book even more suitable for self-
study.)
Ch. 2, ‘Deductions’, introduces an essentially Hilbertian logical system and
proves its soundness: it also considers systems with additional non-logical axioms.
The logical primitives are ‘_’, ‘␣’, ‘@’ and ‘“’. Logical axioms are just the
identity axioms, an axiom-version of @-elimination (and its dual, D-introduction):
the inference rules are @-introduction (and its dual) and a rule which allows us
to infer φ from a finite set of premisses Γ if it is an instance of a tautological
entailment. I don’t think this is the friendliest ever logical system (and no doubt
for reasons of brevity, the authors don’t pause to consider alternative options);
but it certainly is not horrible either. If you take it slowly, the exposition here
should be quite manageable even for the not-very-mathematical.
Ch. 3, ‘Completeness and compactness’, gives a nice version of a Henkin-style
completeness theorem for the described deductive system, then proves compact-
ness and the upward and downward Löwenheim-Skolem theorems (the latter in
the version ‘if L is a countable language and B is an L-structure, then B has a
countable elementary substructure’ [the proof might be found just a bit tricky
though]). So there is a little model theory here as well as the completeness proof:
and you could well read this chapter without reading the previous ones if you
are already reasonably up to speed on structures, languages, and deductive sys-
tems. And so, in a hundred pages, we wrap up what is indeed a pretty friendly
introduction to FOL.
Ch. 4, ‘Incompleteness, from two points of view’ is a helpful bridge chapter,
outlining the route ahead, and then defining Σ, Π and ∆ wffs (no subscripts in
their usage, and exponentials are atomic – maybe a footnote would have been
wise, to help students when they encounter other uses). Then in Ch. 5, ‘Syntactic
Incompleteness – Groundwork’, the authors (re)introduce the theory they call
N , a version of Robinson Arithmetic with exponentiation built in. They then
show that (given a scheme of Gödel coding) that the usual numerical properties
and relations involved in the arithmetization of syntax – such as, ultimately,
P rf pm, nq, i.e. m codes for an N -proof of the formula numbered n – can be
represented in N . They do this by the direct method. That is to say, instead of
[like my IGT ] showing that those properties/relations are (primitive) recursive,
and that N can represent all (primitive) recursive relations, they directly write
down ∆ wffs which represent them. This is inevitably gets more than a bit messy:
but they have a very good stab at motivating every step working up to showing
that N can express P rf pm, nq by a ∆ wff. If you want a full-dress demonstration
of this result, then this is one of the most user-friendly available.
Ch. 6, ‘The Incompleteness Theorems’, is then pretty short: but all the ground-
work has been done to enable the authors now to give a brisk but very clear
47
19. Leary & Kristiansen
presentation, at least after they have proved the Diagonalization Lemma. I did
complain that, in the first edition, the proof of the Lemma was slightly too
rabbit-out-of-a-hat for my liking. This edition I think notably softens the blow
(one of many such small but significant improvements, as well as the major ad-
ditions). And with the Lemma in place, the rest of the chapter goes very nicely
and accessibly. We get the first incompleteness theorem in its semantic version,
the undecidability of arithmetic, Tarski’s theorem, the syntactic version of in-
completeness and then Rosser’s improvement. Then there is nice section giving
Boolos’s proof of incompleteness echoing the Berry paradox. Finally, the second
theorem is proved by assuming (though not proving) the derivability conditions.
The newly added Ch. 7, ‘Computability theory’ starts with a very brief section
on historical origins, mentioning Turing machines etc.: but we then settle to ex-
ploring the µ-recursive functions. We get some way, including the S-m-n theorem
and a full-dress proof of Kleene’s Normal Form Theorem (with due apologies for
the necessary hacking though details) and meet the standard definition of the
set K “ tx | x P Wx u where Wx is the domain of the computable function with
index x. The uncomputability of K is then used, in the usual sort of way, to prove
the undecidability of the Entscheidungsproblem, to re-prove the incompleteness
theorem, and in tackling Hilbert’s 10th problem. This is all nicely done in the
same spirit and with the same level of accessibility as the previous chapters.
♢
Summary verdict If you have already briefly met a formally presented deductive
system for first-order logic, and some account of its semantics, then you’ll find
the opening two chapters of this book very manageable (if you haven’t they’ll
be a bit more work). The treatment of completeness etc. in Ch. 3 would make
for a nice stand-alone treatment even if you don’t read the first two chapters. Or
you could just start the book by reading §2.8 (where N is first mentioned), and
then read the excellent ensuing chapters on incompleteness and computability
with a lot of profit. A Friendly Introduction is indeed in many ways a very
unusually likeable introduction to the material it covers, and has a great deal to
recommend it.
48
20 O’Leary, 2016
So set theory, the topic of much of the book, being neither about number nor
space, isn’t mathematics? Abstract objects are ideas in minds? Well, that settles
their ontological status then!
The penultimate theorem in the book:
If the Peano axioms are provable from a consistent theory, the theory
is incomplete.
Really? Let’s check the definition of ‘theory’: p. 395 tells us that a theory is a set
of sentences (there’s nothing here or elsewhere about effective axiomatizability,
say). True Arithmetic is a theory in that wide sense, is consistent, contains the
Peano axioms and is trivially complete.
So the book starts with careless waffle and ends with a careless mistake. Which
isn’t too encouraging. How do things go in between?
49
20. O’Leary
50
21 Mileti, 2023
♢
Some details Chapter 2, the first substantial chapter, is thirty pages on ‘In-
duction and Recursion’. We get a pretty dense treatment of what Mileti calls
‘generating systems’, three different ways of defining the set of generated what-
nots, proofs that these definitions come to the same, then a criterion for free
generating systems, a proof we can do recursive definitions over the free sys-
tems, and so on. This is all done in what strikes me as a rather heavy-handed
way which could be pretty off-putting as a way of starting out. Many students, I
would have thought, will just feel they have been made to labour unnecessarily
hard at this point for small returns. And when the very general apparatus is ap-
plied e.g. in the next chapter to prove, e.g., unique parsing results, I don’t think
that what we get is more illuminating than a more local argument. (I suppose
my pedagogic inclination in such cases is to motivate a general proof idea by
proving an interesting local case first and then, at an appropriate point later,
saying “Hey, we can generalize ...”.)
1 Mileti says he assumes familiarity with some basic abstract algebra; however, this seems
perhaps more needed to best appreciate some illustrative examples rather than as necessary
background for grasping core content.
51
21. Mileti
52
21. Mileti
In the middle of Chapter 4, though, there is a nice short first section on defin-
ability. Issues of definability and related topics about what classes of structures
can be captured by which languages, and so on, are then taken up in the next
chapter – which ends with a nice section §5.5 which introduces the Tarski-Vaught
test and shows how to get from there to a version of the downward L-S theorem
for a countable language. §4.3 and Chapter 5 could I think be tackled standalone
by someone who knows some basic FOL from other sources; and these sections
do work pretty well.
After a section defining semantic entailment for FOL, Chapter 6 introduces
a deductive system for quantificational logic, far too briskly (it seems to me) to
be of much use to anyone who is encountering one for the first time. And the
soundness and completeness results are done no more attractively than for the
earlier propositional logic case. I can’t recommend these sections. But then §6.4
on applications of compactness and §6.5 on theories are nice (and the concluding
section on random graphs is an interesting bonus).
Chapter 7 is titled ‘Model theory’. Of the five sections, the first three can’t be
recommended. In particular, §7.2 makes unnecessarily heavy weather of that fun
topic, nonstandard models of arithmetic and analysis. By contrast, I thought
§7.4 on quantifier elimination did a better-than-often job at explaining the key
ideas and working through examples. §7.5 on algebraically closed fields worked
pretty well too.
And now we get two chapters on set theory, together amounting to almost
a hundred pages. There’s a major oddity. The phrase ‘cumulative hierarchy’ is
never mentioned: nor is there any talk of sets being found at levels indexed by the
ordinals. The usual V-shaped diagram of the universe with ordinals running up
the spine is nowhere to be seen. I do find this very strange – and not very ‘modern’
either! There are minor oddities too. For example, the usual way of showing that
the Cartesian product of A and B (defined as the set of Kuratowski pairs xa, by)
is a set according to the ZFC axioms is to use Separation to carve it out of the set
PpPpA Y Bqq in the obvious way. Mileti instead uses an unobvious construction
using Replacement. Why? A reader might well come away from the discussion
with the impression that Replacement is required to get Cartesian products and
hence all the constructions of relations and functions which depend on that.
So: Chapter 8 gives us ZFC, and the usual sort of story about how to develop
arithmetic and analysis in set theory. The mentioned oddities apart it is generally
OK: but the recommendations for entry-level set theory in the Study Guide do
the job better and in a friendlier way. However I should mention that, at the end
of the chapter, §8.7 on models, sets and classes, does explain the role of class
talk rather nicely.
Chapter 9 is on ordinals, cardinals, and the axiom of choice; and I thought this
chapter worked comparatively well. Finally in this group, Chapter 10 is much
shorter, just two sections on ”Set-theoretic methods in model theory”. The first,
just four pages, is on sizes of models; and then the second is an opaque and to
my mind misjudged ten pages on ultraproducts.
53
21. Mileti
We are now on the home straight ... only 117 pages to go. The last two long
chapters are on ‘Computable sets and functions’ and ‘Logic, computation, and
incompleteness’.
In broad-brush terms, the content is pretty much the sort of thing you could
predict. So Chapter 11, some seventy pages, introduces the primitive recursive
functions, shows they are not all the intuitively computable functions, and so
goes on to discuss partial recursive functions. Then we get a machine model
of computation, with Mileti choosing URM machines over Turing machines. We
find out that the URM computable partial functions are just the partial recursive
functions, and there is some sensible discussion of the Church-Turing Thesis.
The chapter concludes by looking at computably enumerable (but perhaps not
computable) sets.
Then Chapter 12 starts by talking about coding expressions and deductions,
and about arithmetic definability. §12.3 shows that the set of true sentences of
formal first-order arithmetic is undecidable. Mileti then starts looking at Robin-
son Arithmetic in particular and shows that it can represent computable func-
tions. The final section of the book gives us a proof of incompleteness.
So these final two chapters cover material which is already beautifully covered
in some classic books from e.g. the early editions of Boolos and Jeffrey onwards.
To be sure, these chapters are perfectly respectable, perhaps the best in the book,
and Mileti can write with an engaging turn of phrase. But are they particularly
attractively done, especially accessible, splendidly clear, plainly to be preferred
to the existing entry-level recommendations in the Study Guide? I rather think
not.
♢
Summary verdict Some parts of this book can be recommended for supplemen-
tary reading for self-study. But to be frank, I’m still not quite sure what the point
of Mileti’s text is. The title rather belies the content – what’s so ‘modern’ here?
The treatments of the various topics do usually seem thoroughly conventional
and often even rather old-school. And I’m not persuaded that – sixty years on
from Mendelson! – there is still any special additional virtue in having core FOL,
some model theory, set theory, and some computability theory all done within a
single set of covers, a benefit that makes the book worth more that the sum of
its parts. So, I’m afraid I can’t jump to join in the chorus of rather extravagant
praise printed at the front of the book. (Though equally, if you do want to insist
on having one single text to back to back up a lecture course covering the whole
of the traditional menu for a wide-ranging multi-semester mathematical logic
course, this is probably your best option.)
August 2023
54
22 Avigad, 2023
♢
Some details on FOL Chapter 1 is on ‘Fundamentals’, aiming to ‘develop a
foundation for reasoning about syntax’. So we get the usual kinds of definitions
of inductively defined sets, structural recursion, definitions of trees, etc. and
applications of the abstract machinery to defining the terms and formulas of
FOL languages, proving unique parsing, etc., all done in a quite hard-core way.
Then Avigad has two substantial and wide-ranging chapters on propositional
logic. So §2.1 quickly reviews the syntax of PL (with ^, _, Ñ, K as basic – so
negation has to be defined by treating ␣A as A Ñ K). §2.2 presents a Hilbert-
style axiomatic deductive system for minimal logic, which is augmented to give
systems for intuitionist and classical PL. §2.3 says more about the provability
relations for these three logics. §2.4 then introduces natural deduction systems
for the same three logics, and outlines proofs that they prove the same deduc-
tions. §2.5 notes some validities in the three logics and §2.6 is on normal forms in
classical logic. §2.7 then considers e.g. the Gödel-Gentzen double-negation trans-
lation between intuitionist and classical logic. Finally §2.8 takes a very brisk
look at other sorts of deductive system, and issues about decision procedures.
1 This book note is cut down from an even longer blog post here.
55
22. Avigad
56
22. Avigad
on both sides, for one-sided sequents where everything originally on the left gets
pushed to the right of sequent side (being negated as it goes).
So in §6.2 we are introduced to a classical calculus using such one-sided,
disjunctively-read, sequents (we can drop the sequent sign as redundant) – and
it is taken that we are dealing with wffs in ‘negation normal form’, i.e. with
conditionals eliminated and negation signs pushed as far as possible inside the
scope of other logical operators so that they attach only to atomic wffs. This
gives us a very lean calculus. There’s the rule that any Γ, A, ␣A with A atomic
counts as an axiom. There’s just one rule each for ^, _, @, D. There also is a
cut rule, which tells us that from Γ, A and Γ, „A we can infer Γ (here „A is
notation for the result of putting the negation of A into negation normal form).
And Avigad now proves twice over that this cut rule is eliminable. So first
in §6.3 we get a semantics-based proof that the calculus without cut is already
sound and complete. Then in §6.4 we get a proof-theoretic argument that cuts
can be eliminated one at a time, starting with cuts on the most complex formulas,
with a perhaps exponential increase in the depth of the proof at each stage. And
the sparse one-sided calculus does make for a nicely minimal context in which to
run a bare-bones proof-theoretic argument for the eliminability of the cut rule,
where we have to look at a very small number of different cases in developing the
proof instead of having to hack through the usual clutter. I do have to report
though that, to my mind, Avigad’s compressed mode of presentation doesn’t
really make the proof any more accessible than usual.
To continue (and I’ll be briefer) §6.5 looks at proof-theoretic treatments of
cut elimination for intuitionistic logic, and §6.6 adds axioms for identity into the
sequent calculi and proves cut elimination again. §6.7 is called ‘Variations on
Cut Elimination’ with a first look at what can happen with theories other than
the theory of identity when presented in sequent form. Finally §6.8 returns to
intuitionistic logic and (compare §6.5) this time gives a nice semantic argument
for the eliminability of cut, going via a generalization of Kripke models.
This is all very good stuff. But I hope it doesn’t sound too ungrateful to say
that a student new to sequent calculi and cut-elimination proofs would still do
best to read the initial chapters of Negri and von Plato (for example) first, if
they are later to be able get a lively appreciation of the discussion here.
Following on from the very interesting Chapter 6 on cut-elimination, Avigad
has one further chapter on FOL, Chapter 7 on ‘Properties of First-Order Logic’.
There are sections on Herbrand’s Theorem, on the Disjunction Property for
intuitionistic logic, on the Interpolation Lemma, on Indefinite Descriptions and
on Skolemization. This does nicely follow on from the previous chapter, as the
proofs here mostly rely on the availability of cut-elimination. I’m not going to
dwell on this chapter, though, which I think most readers will find pretty hard
going. Hard going in part because, apart from perhaps the interpolation lemma,
it won’t this time be obvious from the off what the point of various theorems
are.
♢
57
22. Avigad
58
22. Avigad
§11.7, however, takes an even faster six-page look at the untyped lambda
calculus. I found this section very strange: I really do have to wonder what
someone genuinely new to the topic could actually get out of this compressed
presentation. And then, after a section on relative computability, Ch. 11 ends
with a pretty hard-core section on computability and infinite binary trees.
We get back to basics for most of Ch. 12 on undecidability and incompleteness.
My sense is that there is rather more motivational chat here that in some episodes
in the book, and I do think §§12.1–12.4 really do work very nicely. Again, §§12.1–
12.4 can be recommended reading in the Study Guide. The final section of the
chapter, §12.5, however, is a terse discussion of theories that can be shown to be
complete by arguments using quantifier elimination results – I found the mode
of presentation to be distinctly less reader-friendly again.
There is a considerable jolt upwards in level of difficulty as we move to the next
two chapters, though. Ch. 13 is on the simply typed lambda calculus, combina-
tory logic and more: the discussion is too compressed to be very useful, I would
judge. Most readers brand new to the topic would surely struggle. Very much
the same goes for Ch. 14 on reliability, the Dialectica interpretation and more,
though this is interesting and helpful reading if you already know enough.
Ch. 15 is on second-order logic and arithmetic. Once again, this goes at a
cracking pace, and would be pretty tough for someone’s first exposure to SOL.
However, these early sections might well make for higher-level revision, if you’d
first taken things more slowly in some other presentation. But heavens, by §15.6
we are talking about the second-order typed lambda calculus ...
Ch. 16 is on subsystems of second-order arithmetic. I’m all for seeing this
topic covered in a text like this. Though – stuck record though I am proving to
me – I find myself again wanting to say that this surely all goes a bit too densely
for a first exposure to the topic. Though yes, a good read perhaps if you have
already tackled the more accessible first chapter of Simpson’s now classic book.
Finally, MLC has a concluding chapter on ‘Foundations’ – a very speedy 16
page tour through simple type theory, set theory, dependent type theory and
more. This sits rather oddly with what’s gone before.
♢
Summary verdict I have kept remarking on the differences in level (sometimes
quite radical) between different chapters, and quite often between sections within
a chapter. They do make me wonder. Does this book in fact have a number of
different archaeological layers, with different parts having their ultimate origins
in handouts for differently paced, different level courses? I wonder! It certainly
makes, as I said before, for an uneven ride. But there is, for all that, a great deal
of highly interesting material here in MLC: you’ll just need to be primed to a
suitable level (different for different episodes) to really appreciate it.
August 2023
59