Books

Kurt Gödel: Results on Foundations

If you have access to a library which subscribes to Springer Link, you should be able to download an e-copy of this very recent addition to the growing list of editions of Gödel’s various notebooks. (If you don’t have good library access, then tough — Springer are price-gouging at £111.50 for the PDF, and more for the print-on-demand version.)

The editors Maria Hämeen-Anttila and Jan von Plato write in their short Preface

If there is one “must” to be cleared in the enormous mass of the Kurt Gödel Papers kept at the Firestone Library of Princeton University, it is the series of four notebooks titled Resultate Grundlagen. Gödel wrote these 368 pages between 1940 and 1942, except for the first 33 and last 12 pages. There is a continuous page numbering and the same goes for the theorems. It has been a great fortune for us to meet the task of transcribing, translating, and editing these notebooks.

And later, in their introductory essay

Resultate Grundlagen [RG] is a collection of results Gödel considered finished. … Close to two thirds of RG deal with set theory … Next to set theory, RG contains results on arithmetic and recursive functions. Type theory is one clearly separate topic, and so is what Gödel called “positive logic.” The latter relates to intuitionism which was one of Gödel’s permanent interests from the early 1930s on. This interest is clearly seen in [RG] with about one part in four devoted to intuitionistic logic and its interpretation.

So that tells us two things. First, about the topics of the RG notebooks themselves. And second, inadvertently, that the language of this edition is sometimes only an approximation to good English. Evidently, Springer’s contribution to the publishing of this book didn’t run to a native-speaker copy-editor. This matters, I think, for two reasons. First, readers for whom English is not their first language will stumble. Second, the editors have (oddly to my mind) not given their transcription of Gödel’s obsolete German shorthand in a parallel text (surely an achievement worth preserving for future researchers): so occasionally the reader might wonder whether seemingly odd or stuttering phrasing is in the original or is a result of rendering into clumsy English. In fact the editors write

RG is a polished shorthand text when compared with such sources of preliminary work as [other notebooks]. There are next to no cancellations, but there are additions that often result in awkward sentence structures. The question is to what extent such passages should get improved in translation.

Given this sort of issue, why indeed not pre-empt a reader’s questions with a parallel text, as in the canonical edition of the Works?

On the key set-theoretic content, the editors write

After the transcription and translation work was done, we were lucky to find in Akihiro Kanamori a reader without comparison of Gödel’s results on foundations. … Aki took up the task and presented us with a splendid essay on The remarkable set theory in Gödel’s 1940–42 Resultate Grundlagen, an essay that explains how Gödel had arrived at numerous results independently discovered by others later, sometimes much later, in an anticipation of the development of set theory from 1942 on, the year Gödel left formal work in logic and foundations.

Which is good to know; but since Kanamori’s essay isn’t included in the book as an introduction (and isn’t yet available elsewhere), the rest of us will have to wait a little for a knowledgeable guide to Gödel’s achievement in RG. All that said, it remains astonishing to find how productive Gödel was in those years when he was publishing so little. Fascinating but frustrating to dip into.

Avigad’s MLC: The full story …

I have at last returned to finish reading Jeremy Avigad’s Mathematical Logic and Computation, which was published last year by CUP. Here, now put together into one post, are some thoughts about the book (increasingly less per chapter, as I came to realise that — despite Avigad’s intentions and despite the many virtues of the book — this isn’t really a book for beginners, and so it won’t in the end feature largely in main part of the Beginning Mathematical Logic Study Guide).


The first seven chapters, some 190 pages, form a book within the book, on core FOL topics but with an unusually and distinctively proof-theoretic flavour. This is well worth having. But a reader who is going to happily navigate and appreciate the treatments of topics here will typically need significantly more background in logic than Avigad implies. The exposition is often very brisk, and the amount of motivational chat is variable and sometimes minimal. So — to jump to a first verdict — some parts of this book-within-a-book will indeed be recommended in the Guide, but as supplementary reading for those who have already tackled one of the standard FOL texts.

Mileti, Modern Mathematical Logic, Chs 7–10

To continue. Chapter 7 of Mileti’s MML is titled “Model theory”. Of the five sections, the first three can’t be recommended. In particular, §7.2 makes such heavy weather of that fun topic, nonstandard models of arithmetic and analysis. There are so many alternative treatments which will be more accessible and give a more intuitive sense of what’s going on. 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 \langle a, b\rangle) is a set according to the ZFC axioms is to use Separation to carve it out of the set \mathcal{P}(\mathcal{P}(A \cup B)) 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. (I rather suspect that Mileti isn’t much interested in ‘modern’ finer-tuned discussions of what depends on what, such as the question of  which set-theoretic claims really do depend on something as strong as replacement.)

So: Chapter 8, without explicitly mentioning the cumulative hierarchy (let alone the possibility of potentially more natural axiomatisations in terms of levels) 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 Beginning Mathematical Logic 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 do the job of explaining 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. (Perhaps the perceived unevenness is all in my mind! And I know from my own efforts in writing long-ish books that maintaining a consistent level of approachability, of proportions of helpful less formal chat around the more formal stuff and so on, is difficult. I can only report how I am finding the book — and, as they say, your mileage may vary.)

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.

And so it goes: as with the earlier chapters, a mixed bag.

Mileti, Modern Mathematical Logic, Chs 1–3

Towards the end of last year, within a week or two of publishing Jeremy Avigad’s Mathematical Logic and Computation (a bumpy ride, but very well worth having), CUP also released another textbook, Joseph Mileti’s Modern Mathematical Logic. I’d earlier seen a substantial set of notes that Mileti had posted online, and (to be frank) wasn’t over-impressed; so I haven’t been rushing to read this. But I thought I would now take a look at the book version, with a view to seeing whether there are any chapters which I’d want to mention or even recommend in the next iteration of the Beginning Mathematical Logic Study Guide.

Level and coverage? MML is announced as aimed at advanced undergraduates or beginning graduates (by US standards, anyway), though the book is distinctly less ambitious than Avigad’s. 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. The coverage is broadly conventional, starting with basic first-order logic (though with the opposite emphasis to Avigad: there’s no real proof theory). Then there’s a little model theory, entry-level axiomatic set theory, some computability theory, and a treatment of incompleteness. At this point, then, at least just glancing at the table of contents and diving into the first chapters, I’m not at all sure quite what makes this a book on especially modern mathematical logic in either topics or general approach.

I rather liked the tone of the short Introduction; and going through the next couple of chapters, there is friendly signposting and some nice turns of phrase. But …

But Chapter 2, the first substantial chapter, is thirty pages on ‘Induction and Recursion’. We get a pretty dense treatment of what Mileti calls “generating systems”, three different ways of defining the set of generated whatnots, 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 systems, 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 applied 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 …”.) I note, by the way, that by the end of §2.2 the reader is already supposed to know about countable sets and accept without demur that a countable union of countable sets is countable.

Chapter 3, the next fifty pages, is on propositional logic. A minor complaint is that the arrow connective is initially introduce in the preface as meaning “implies” (oh dear), and then we get not a word of discussion of the truth-functional treatment of the connective unless my attention flickered. But my main beef here is on the chosen formal proof system. This is advertised as natural deduction, but it is a sequent system, where on the left of sequents we get sequences rather than sets (why?). And although the rules are set out in a way that would naturally invite tree-shaped proofs, they are actually applied to produce linear proofs (why?). Moreover, the chosen rule-set is not happily motivated. We have disjunctive syllogism rather than a proper vE rule; double negation elimination is called ¬E; removing double negation elimination doesn’t give intuitionistic logic. OK Mileti  isn’t going to be interested in proof theory; but he should at least have chosen a modern(!) proof system with proof-theoretic virtues!

As for completeness, we get the sort of proof that (a) involves building up a maximal consistent set starting from some given wffs by going along looking at every possible wff in turn to see if it can next be chucked into our growing collection while maintaining consistency, rather than the sort of proof that (b) chucks in simpler truth-makers only as needed, Hintikka style. We are not told what might make the Henkin strategy better than the more economical Hintikka one.

To finish on a positive note, perhaps the best/most interesting thing in this chapter is the final section (and the accompanying exercises) on compactness for propositional logic, which gives a nice range of applications.

To be continued

Avigad’s MLC — First order logic

Last year I wrote a number of posts on Jeremy Avigad’s major recent book for advanced students, Mathematical Logic and Computation (CUP, 2022). I was reading it with an eye to seeing what parts might be recommended in the next iteration of the Study Guide. This is a significantly shorter version combining the posts, now removed, on the first part of the book. A brisker post on the rest of the book will follow.


The first seven chapters of MLC, some 190 pages, form a book within the book, on core FOL topics but with an unusually and distinctively proof-theoretic flavour. This is well worth having. But a reader who is going to happily navigate and appreciate the treatments of topics here will typically need significantly more background in logic than Avigad implies. The exposition is often very brisk, and the amount of motivational chat is variable and sometimes minimal. So — to jump to the verdict — some parts of this book will indeed be recommended in the Guide, but as supplementary reading for those who have already tackled one of the standard FOL texts.

To get down to details …

Logical Methods — on modal logic

Moving on through Greg Restall and Shawn Sandefer’s Logical Methods, Part II is on propositional modal logic. So the reader gets to find out e.g. about S4 vs S5 and even hears about actuality operators etc. before ever meeting a quantifier. Not an ordering that many teachers of logic will want to be following. But then, as I have already indicated when discussing Part I on propositional logic, I’m not sure this is really working as the first introduction to logic that it is proclaimed to be (“requires no background in logic”). I won’t bang on about that again. So let’s take Part II as a more or less stand-alone treatment that could perhaps be used for a module on modal logic for philosophers, for those who have already done enough logic. What does it cover? How well does it work?

Part I, recall, takes a proof-theory-first approach; Part II sensibly reverses the order of business. So Chapter 7 on ‘Necessity and Possibility’ is a speedy tour of the Kripke semantics of S5, then S4, then intuitionistic logic. I can’t to be honest say that the initial presentation of S5 semantics is super-clearly done, and the ensuing description of what are in effect unsigned tableaux for systematically searching for counterexamples to S5 validity surely is too brisk (read Graham Priest’s wonderful text on non-classical logics instead). And jumping to the other end of the chapter, there is a significant leap in difficulty (albeit accompanied by a “warning”) when giving proofs of the soundness and completeness of initutionistic logic with respect to Kripke semantics. Rather too much is packed in here to work well, I suspect.

Chapter 8 is a shorter chapter on ‘Actuality and 2D Logic’. Interesting, though again speedy. But for me, the issue arises of whether — if I were giving a course on modal logic for philosophers — I’d want to spend any time on these topics as opposed to touching on the surely more interesting philosophical issues generated by quantified modal logics.

Chapter 9 gives Gentzen-style natural deduction systems for S4 and S5. Which is all technically fine, of course. But I do wonder about how ‘natural’ Gentzen proofs are here, compared with modal logic done Fitch-style. I certainly found the latter easier to motivate in class. So Gentzen-style modal proof systems would not be my go-to choice for a deductive system to introduce to philosophy student. Obviously Restall and Sandefer differ!

Overall, then, I don’t think the presentations will trump the current suggested introductory readings on modal logic in the Study Guide.

Restall & Standefer, Logical Methods

A new introductory logic textbook has just arrived, Greg Restall and Shawn Standefer’s Logical Methods (MIT).

This promises to be an intriguing read. It is announced as “a rigorous but accessible introduction to philosophical logic” — though, perhaps more accurately,  it could be said to be an introduction to some aspects of formal logic that are of particular philosophical interest.

The balance of the book is unusual. The first 113 pages are on propositional logic. There follow 70 pages on (propositional) modal logic — this, no doubt, because of its philosophical interest. Then there are just 44 pages on standard predicate logic, with the book ending with a short coda on quantified modal logic. To be honest, I can’t imagine too many agreeing that this reflects the balance they want in a first logic course.

Proofs are done in Gentzen natural deduction style, and proof-theoretic notions are highlighted early: so we meet e.g. ideas about reduction steps for eliminating detours as early as p. 22, so we hear about normalizing proofs before we get to encounter valuations and truth tables. Another choice that not everyone will want to follow.

However, let’s go with the flow and work with the general approach. Then, on a first browse-and-random-dipping, it does look (as you’d predict) that this is written very attractively, philosophically alert and enviably clear. So I really look forward to reading at least parts of Logical Methods more carefully soon. I’m turning over in my mind ideas for a third edition of IFL and it is always interesting and thought-provoking to see how good authors handle their introductory texts.

Self-publishing and the Big Red Logic Books

One way of increasing the chance of your books actually being read is to make them freely downloadable in some format, while offering inexpensive print-on-demand paperback versions for those who want them. Or at least, that’s a publication model which has worked rather well for me in the last couple of years. Here’s a short report of how things went during 2022, and then just a few general reflections which might (or might not) encourage one or two others to adopt the same model!


As I always say, the absolute download stats are very difficult to interpret, because if you open a PDF in your browser on different days, I assume that this counts as a new download — and I can’t begin to guess the typical number of downloads per individual reader (how many students download-and-save, how many keep revisiting the download page? who knows?). But here is the headline news:

PDF downloadsPaperback sales
Intro Formal Logic112211112
Intro Gödel’s Theorems7432627
Gödel Without Tears4394677
Beginning Mathematical Logic25863493

No doubt, the relative download figures, comparing books and comparing months, are more significant: and these have remained very stable over the year, with about a 10% increase over the previous year.

As for paperback sales of the first three books, these too remain very steady month-by-month, and the figures are very acceptable. So we have proof-of-concept: even if a text is made freely available, enough people prefer to work from a printed text to make it well worthwhile setting up an inexpensively priced paperback. (In addition there’s also a hardback of IFL which sold 150 copies over the year, and a hardback of the first edition of GWT sold 40 copies up to end of October, before being replaced by a new hardback edition.)

The BML Study Guide was newly paperbacked at the beginning of the year, not with any real expectation of significant sales given the rather particular nature of the book. Surprisingly, it is well on course to sell over 500 copies by its first anniversary.

Obviously, an author wants their books to conquer the world — why isn’t just everyone using IFL? —  but actually, I’m pretty content with these statistics.


To repeat what I said when giving an end-of-year report at the beginning of last January, I don’t know what general morals can be drawn from my experiences with these four books. Every book is what it is and not another book, and every author’s situation is what it is.

But providing an open-access PDF plus a very inexpensive but reasonably well produced paperback is obviously a fairly ideal publication model for getting stuff out there. I’d be delighted, and — much more importantly — potential readers will be delighted, if rather more people followed the model.

Yes, to produce a book this way, you need to be able to replicate in-house some of the services provided e.g. by a university press. But volunteer readers — friends, colleagues and students — giving comments and helping you to spot typos will (if there is a reasonable handful of them) probably do at least as good a job as paid publisher’s readers, in my experience. Writers of logic-related books, at any rate, should be familiar enough with LaTeX to be able to do a decent typographical job (various presses make their LaTeX templates freely available — you can start from one of those if you don’t feel like wrangling with the memoir class to design a book from scratch). Setting up Amazon print-on-demand is a doddle. You’ll need somehow to do your own publicity. But none of these should be beyond the wit of most of us!

The major downside of do-it-yourself publishing, of course, is that you don’t get the very significant reputational brownie points that accrue from publication by a good university press. And we can’t get away from it: job-prospects and promotions can turn on such things. So they will matter a great deal in early or mid career.

But for those who are well established and nearer the end of their careers, or for the idle retired among us … well, you might well pause to wonder a moment about the point of publishing a monograph with OUP or CUP (say) for £80, when you could spread the word to very many more readers by self-publishing. It seems even more pointless to publish a student-orientated book of one kind or another at an unaffordable price. So I can only warmly encourage you to explore the do-it-yourself route. (I’m always happy to respond to e-mailed queries about the process.)


Finally, I can somewhat shamefacedly add a last row to the table above, about work in (stuttering) progress towards an announced but as yet far from finished paperback:

PDF downloadsPaperback sales
Beginning Category Theory7482N/A

This download figure is embarrassing because, as I’ve said before, I know full well these notes are in a really rackety state. But I can’t bring myself to abandon them. So my logical New Year’s resolution is to spend the first six weeks of the year getting at least Part I of these notes (about what happens inside categories) into a much better shape. I just need to really settle at last to the task and not allow myself so many distractions. Promises, promises. Watch this space.

Avigad MLC — 6: Arithmetics

Chs 1 to 7 of MLC, as we’ve seen, give us a high-level and often challenging introduction to core first-order logic with a quite strongly proof-theoretic flavour. Now moving on, the next three chapters are on arithmetics — Ch. 8 is on primitive recursion, Ch. 9 on PRA, and Ch. 10 on richer first-order arithmetics.

I won’t pause long over Ch. 8, as the basic facts about p.r. functions aren’t wonderfully exciting! Avigad dives straight into the general definition of p.r. functions, and then it’s shown that the familiar recursive definitions of addition, exponentiation, and lots more, fit the bill. We then see how to handle finite sets and sequences in a p.r. way. §8.4 discusses other recursion principles which keep us within the set of p.r. functions, and §8.5 discusses recursion along well-founded relations — these two sections are tersely abstract, and it would surely have been good to have more by way of motivating examples. Finally §8.6 tells us about diagonalizing out of the p.r. functions to get a computable but not primitive recursive function, and says just a little about fast-growing functions. All this is technically fine, it goes without saying; though once again I suspect that many students will find this chapter more useful if they have had a preliminary warm-up with a gentler first introduction to the topic first.


But while Ch. 8 might be said to be relatively routine (albeit quite forgiveably so!), Ch. 9 is anything but. It is the most detailed and helpful treatment of Primitive Recursive Arithmetic that I know.

Avigad first presents an axiomatization of PRA in the context of a classical quantifier-free first-order logic. Hence

  1. The logic has the propositional connectives, axioms for equality, plus a substitution rule (wffs with variables are treated as if universally quantified, so from A(x) we can infer A(t) for any term).
  2. We then have a symbol for each p.r. function — and we can think of these added iteratively, so as each new p.r. function is defined by composition or primitive recursion from existing functions, a symbol for the new function is introduced along with its appropriate defining quantifier-free equations in terms of already-defined functions.  
  3. We also have a quantifer-free induction rule: from A(0) and A(x) \to A(Sx), infer A(t) for any term.

§§9.1–9.3 explore this version of PRA in some detail, deriving a lot of arithmetic, showing e.g. that PRA proves that if p is prime, and p \mid xy then either p \mid x or p \mid y, and noting along the way that we could have used an intuitionistic version of the logic without changing what’s provable.

Then the next two sections very usefully discuss two variant presentations of PRA. §9.4 enriches the language and the logic by allowing quantifiers, though induction is still just for quantifier-free formulas. It is proved that this is conservative over quantifier-free PRA for quantifier-free sentences. And there’s a stronger result. Suppose full first-order PRA proves the \Pi_2 sentence \forall x \exists y A(x, y), then for some p.r. function symbol f, quantifier-free PRA proves A(x, f(x)) (and we can generalize to more complex \Pi_2 sentences).

By contrast §9.5 weakens the language and the logic by removing the connectives, so all we are left with are equations, and we replace the induction rule by a rule which in effect says that functions satisfying the same p.r. definition are everywhere equal. This takes us back — as Avigad nicely notes — to the version of PRA presented in Goodstein’s (now unread?) 1957 classic  Recursive Number Theory, which old hands might recall is subtitled  ‘A Development of Recursive Arithmetic in a Logic-Free Equation Calculus’.

All this is done in an exemplary way, I think. Perhaps Avigad is conscious that in this chapter he is travelling over ground that it is significantly less well-trodden in other textbooks, and so here he allows himself to be rather more expansive in his motivating explanations, which works well.


The following Ch. 10 is the longest in the book, some forty two pages on ‘First-Order Arithmetic’. Or rather, the chapter is on arithmetics, plural — for as well as the expected treatment of first-order Peano Arithmetic, with nods to Heyting Arithmetic,  there is also a perhaps surprising amount here about subsystems of classical PA.

In more detail, §10.1 briefly introduces PA and HA. You might expect next to get a section explaining how PA (with rather its minimal vocabulary) can be in fact seen as extending the PRA which we’ve just met (with all its built-in p.r. functions). But we have to wait until  §10.4 to get the story about how to define p.r. functions using some version of the beta-function trick. In between, there are two longish sections on the arithmetical hierarchy of wffs, and on subsystems of PA with induction restricted to some level of the hierarchy. Then §10.5 shows e.g. how truth for \Sigma_n sentences can be defined in a \Sigma_n way, and shows e.g. that I\Sigma_{n+1} (arithmetic with induction for \Sigma_{n + 1} wffs) can prove the consistency of I\Sigma_{n}, and also — again using truth-predicates — it is shown e.g. that I\Sigma_{n} is finitely axiomatizable. (There’s a minor glitch. In the proof of 10.3.5 there is a reference to the eighth axiom of Q — but Robinson arithmetic isn’t in fact introduced until Chapter 12.)

The material here is all stuff that is very good to know. Your won’t be surprised by this stage to hear that the discussion is a bit dense in places; but up to this point it should all be pretty manageable because the ideas are, after all, straightforward enough.

However, the chapter ends with another ten pages whose role in the book I’m not at all so sure about. §10.6 proves three theorems using cut elimination arguments, namely (1) that I\Sigma_{1} is conservative over PRA for \Pi_2 formulas; (2) Parikh’s Theorem, (3) that so-called B\Sigma_{n+1} is conservative over I\Sigma_{n} for \Pi_{n+2} wffs. What gives these results, in particular the third, enough interest to labour through them? They are, as far as I can see, never referred to again in later chapters of the book. And yet §10.7 then proves the same theorems again using model theoretic arguments. I suppose that these pages give us samples of the kinds of conservation results we can achieve and some methods for proving them. But I’m not myself convinced they really deserve this kind of substantial treatment in a book at this level.

Book note: Topology, A Categorical Approach

Having recently been critical of not a few books here(!), let me mention a rather good one for a change. I’ve had on my desk for a while a copy of Topology: A Categorical Approach by Tai-Danae Bradley, Tyler Bryson and John Terilla (MIT 2020). But I have only just got round to reading it, making a first pass through with considerable enjoyment and enlightenment.

The cover says that the book “reintroduces basic point-set topology from a more modern, categorical perspective”, and that frank “reintroduces” rather matters: a reader who hasn’t already encountered at least some elementary topology would have a pretty hard time seeing what is going on. But actually I’d say more. A reader who is innocent of entry-level category theory will surely have quite a hard time too. For example, in the chapter of ‘Prelminaries’ we get from the definition of a category on p. 3 to the Yoneda Lemma on p. 12! To be sure, the usual definitions we need are laid out clearly enough in between; but I do suspect that no one for whom all these ideas are genuinely new is going to get much real understanding from so rushed an introduction.

But now take, however, a reader who already knows a bit of topology and who has read Awodey’s Category Theory (for example). Then they should find this book very illuminating — both deepening their understanding of topology but also rounding out their perhaps rather abstract view of category theory by providing a generous helping of illustrations of categorial ideas doing real work (particularly in the last three chapters). Moreover, this is all attractively written, very nicely organized, and (not least!) pleasingly short at under 150 pages before the end matter.

In short, then: warmly recommended. And all credit too to the authors and to MIT Press for making the book available open-access. So I need say no more here: take a look for yourself!

Scroll to Top