forallx:Cambridge is a textbook for introductory formal logic. I made it for the first year philosophy formal logic course in Cambridge. It covers both truth-functional logic and first-order logic, introducing students to semantics and to a Fitch-style natural deduction system. The textbook contains numerous exercises, for which there is a complete solutions booklet. forallx:Cambridge is based upon P.D. Magnus’s forallx, available at fecundity.com/logic.

Available downloads

forallx:Cambridge pdf
forallx:Cambridge source code
Solutions booklet pdf
Solutions booklet source code

More about forallx:Cambridge

The book is based upon P.D. Magnus’s forallx. Magnus very generously released his book under a Creative Commons license. This licenses derivative work, and the text was altered for the Cambridge Course. forallx:Cambridge is now released under the same . In brief, this means that you can use/share/adapt the texts free of charge (subject to attribution).

It might help to explain, quickly, the main differences Magnus’s original text, and the Cambridge version. There are substantive differences in the order in which material is presented. There are also points at which the material differs, in particular:

  1. Use/Mention. The Cambridge version discusses the distinction between use and mention, and enforces strict quotation rules.
  2. Semantics. Magnus has a chapter discussing formal set-theoretic semantics for both TFL and FOL. This has been removed from the Cambridge version, and replaced with something a little bit lighter.
  3. Proof system. Both books use a Fitch-style natural deduction system. However, the system for the Cambridge version has rules governing ‘⊥’, and is designed so that deleting a single rule yields intuitionistic logic. This makes it easier for students to explore non-classical logics, later in life. The Cambridge version also has an appendix, discussing different but equivalent natural deduction systems.
  4. Plurals. The Cambridge version eschews all talk of sets in favour of plural-locutions. So we say that some sentences are jointly inconsistent, rather than saying that a set of sentences is inconsistent.
  5. Solutions. The Cambridge version comes with a solutions booklet for all the practice exercises in the book. This allow for students to mark their own work.
  6. Metatheory. The textbook continues on from the Cambridge version. This explores the metatheory of the truth-functional systems presented in the Cambridge version of forallx.

Moreover, since I adapted Magnus’s book for Cambridge, plenty of other versions of forallx have sprung up. They are maintained at the Open Logic Project. If you want to teach with forallx, in any version, you should visit their site!

I would like to repeat my thanks to P.D. Magnus. He has been extraordinarily generous, in making forallx available to everyone. When I first made this page, in 2012, I wrote: ‘I hoped that other logic teachers will be inspired by his generosity, and will continue to build upon this foundation’. I am really delighted that this is happening.

Version history

2018
License changed to CC BY 4.0
Main release uses Libertinus fonts (open source and available here)
Two rules renamed: ⊥I as ¬E, and ⊥E as X
Definitions added for ⊭ and ⊬
FOL symbolisation keys use new conventions (see §16.2)
Explanation added concerning superscripts on predicates (see §19.5)
Explanation of ∴ improved (see §7.4)
Minor rephrasings throughout

2017
Main release uses XeLaTeX and Arno Pro fonts
Support for LaTeX and Computer Modern via forallx-basic.sty
Fixed minor mistakes

2014
Fixed minor mistakes

2013
All parts relating to metatheory were removed
These were re-released in
Fixed minor mistakes

2012
First release; license Creative Commons Attribution-ShareAlike 3.0

Metatheory is an introduction to the metatheory of truth-functional logic, also known as the propositional calculus. It was the textbook for a Cambrige second-year course on metatheory, continuing immediately from , which was the textbook for the first-year formal logic course.

Available downloads

Metatheory pdf
Metatheory LaTeX source code

More about Metatheory

Metatheory does not itself contain an account of truth-functional logic, but instead assumes a prior understanding. More specifically, this book assumes a thorough understanding of the syntax, semantics and proof-system for TFL (truth-functional logic) that is presented in . There is nothing very surprising about the syntax or semantics of TFL, and the proof-system is a fairly standard Fitch-style system.

Metatheory does not, though, presuppose any prior understanding of (meta)mathematics. Chapter 1 therefore begins by explaining induction from scratch, first with mathematical examples, and then with metatheoretical examples. Each of the remaining chapters presupposes an understanding of the material in Chapter 1.

Chapter 2 covers results relating to substitution, including Interpolation and Duality. Chapters 3 and 4 cover normal form theorems and expressive adequacy. Chapters 5 and 6 cover soundness and completeness.

One idiosycracy of Metatheory is worth mentioning: it uses no set-theoretic notation. Where I need to talk collectively, I do just that, using plural locutions.

Metatheory is released under a Creative Commons . In brief, this means that you can use/share/adapt the texts free of charge (subject to attribution).

Version history

2018
License changed to CC BY 4.0
Main release uses Libertinus fonts (open source and available here)
Two rules renamed: ⊥I as ¬E, and ⊥E as X

2017
Main release uses XeLaTeX and Arno Pro fonts
Support for LaTeX and Computer Modern via metatheory-basic.sty
Fixed minor mistakes

2014
Fixed minor mistakes

2013
First release; license Creative Commons Attribution-ShareAlike 3.0

Set Theory: An open introduction is a brief introduction to the philosophy of set theory. It is written for students with a little background in logic (such as one might get from ), and some high school mathematics. By the end of this book, students reading it might have a sense of:

  1. why set theory came about;
  2. how to embed large swathes of mathematics within set theory + arithmetic;
  3. how to embed arithmetic itself within set theory;
  4. what the cumulative iterative conception of set amounts to;
  5. how one might try to justify the axioms of ZFC.
Originally, I released this as Open Set Theory. I subsequently made some corrections, and have handed all of it over to the Open Logic Project. You can find the source code at the dedicated site. Alternatively, you can just download a ready-to-go free pdf of the book.

Version history

2021
Updated and corrected; released as Set Theory: An open introduction; license Creative Commons BY 4.0

2019
First release as Open Set Theory; license Creative Commons BY 4.0

Over the past few years, I have released three Open Education Resources: , , and . These are open source electronic textbooks, for use by teachers or for self-study. You can: use them off-the-shelf; remix them; you cannibalize bits of them;… whatever you want, really, provided you adhere to the license.

All three books are released under a Creative Commons license (CC BY 4.0).

If you do start using any of these books, I’d love to hear from you at . (And please get in touch if you have any recommendations or spot any mistakes.)

You might also want to check out the Open Logic Project. It’s awesome. (In the interests of openness, I should declare that I’m on their board.)