forall x: Calgary is a full-featured textbook on formal logic. It covers key notions of logic such as consequence and validity of arguments, the syntax of truth-functional propositional logic TFL and truth-table semantics, the syntax of first-order (predicate) logic FOL with identity (first-order interpretations), translating (formalizing) English in TFL and FOL, and Fitch-style natural deduction proof systems for both TFL and FOL. It also deals with some advanced topics such as modal logic, soundness, and functional completeness. Exercises with solutions are available. It is provided in PDF (for screen reading, printing, and a special version for dyslexics) and in LaTeX source code. A proof editor/checker for the proof system used is available at proofs.openlogicproject.org.
Download links below.
forall x: Calgary is based on forall x: Cambridge, by Tim Button used under a CC BY 4.0 license, which is based in turn on forall x, by P.D. Magnus used under a CC BY 4.0 license, and was remixed, revised, & expanded by Aaron Thomas-Bolduc & Richard Zach. It includes additional material from forall x by P.D. Magnus and Metatheory by Tim Button, both used under a CC BY 4.0 license, from forall x: Lorain County Remix, by Cathal Woods and J. Robert Loftis, used with permission, and A Modal Logic Primer by Robert Trueman, used with permission.
This work is licensed under a Creative Commons Attribution 4.0 International License.
The LaTeX source code for this work is available on GitHub at github.com/rzach/forallx-yyc.
You can download PDFs of the files here:
forallxyyc.pdf(in color, for screen reading)
forallxyyc-print.pdf(b/w, for printing on Quarto stock)
forallxyyc-letter.pdf(b/w, for printing on regular letter-size paper)
forallxyyc-accessible.pdf(an accessible version for dyslexics)
Note that these files change whenevery the source files are changed. So if you use the text in a course, better to download the PDFs and make them available to students directly, than to link here.
forallxyyc.tex(in color, for screen reading)
forallxyyc-print.tex(b/w, for printing on Quarto stock)
forallxyyc-letter.tex(b/w, for printing on regular letter-size paper)
You’ll have to run
makeglossaries to produce the glossary as well.
To make changes to the definitions in the preamble and
forallyyc.sty file, put them in a file named
forallxyyc-local.sty. For instance, to get the connectives to be ∼, &, ⊃, ≡ instead of ¬, ∧, →, ↔, and atomic formulas Lab instead of L(a,b), copy
forallxyyc-local-sample.sty to that file.