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), symbolizing 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), HTML (with additional accessibility features), and in LaTeX source code.
Instructors wishing to adopt it should consider the open-source Carnap system, which supports the notation and proof systems of forall x: Calgary. Check out the sample exercises for the book on carnap.io. (There is also an outdated and unsupported proof editor/checker for the proof system used available at proofs.openlogicproject.org.)
The book has been translated into German (forall x: Dortmund) and Portuguese (Para Todxs: Natal).
The book is available in HTML to read online.
The HTML conversion is experimental. If you find issues in it, especially issues that affect screen readers, please report it by filing an issue or send an email to Richard Zach. Note that solutions are not yet included in the HTML version.
You can download PDFs of the most current version under development here:
forallxyyc.pdf
(in color, for screen reading)forallxyyc-accessible.pdf
(an accessible version for dyslexics)forallxyyc-print.pdf
(b/w, for printing on Quarto stock)forallxyyc-letter.pdf
(b/w, for printing on regular letter-size paper)forallxyyc-solutions.pdf
(solutions booklet)
The a SCORM ZIP package of HTML bundled with plain and accessible versions of the PDF is available here:
You can use this file to easily provide the entire text inside your LMS (Canvas, Moodle, D2L/Brightspace).
Note that these files change whenever the source files change. So if you use the text in a course, it is best to download the PDFs or the SCORM package and make them available to students directly rather than to link here, to avoid mismatches between versions.
Major changes between editions are listed in the changelog.
PDFs of the Fall 2021 edition are archived here:
forallxyyc-f21.pdf
forallxyyc-accessible-f21.pdf
forallxyyc-print-f21.pdf
forallxyyc-letter-f21.pdf
forallxyyc-solutions-f21.pdf
PDFs of the Fall 2020 edition are archived here:
forallxyyc-f20.pdf
forallxyyc-accessible-f20.pdf
forallxyyc-print-f20.pdf
forallxyyc-letter-f20.pdf
forallxyyc-solutions-f20.pdf
If you'd like to purchase a nice paperback copy of the Fall 2023 edition, you can do so on Amazon (US | CA | UK | DE | AU), or use search in your local Amazon store. Be sure to get the latest version that's available in print (Fall 2023). The version on Amazon usually is not as current as the PDF. Changes are recorded in the Changelog.
(The process for getting the book printed is described here and here.)
Clone the GitHub repository locally or download the ZIP file and run LaTeX on one of
forallxyyc.tex
(in color, for screen reading)forallxyyc-accessible.tex
(accessible version)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,
or use latexmk
.
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.
To convert the book to HTML:
- Install LaTeXML.
- Install BookML and its
dependencies. If your source files live in, say,
~/forallx-yyc
you should have a subdirectory~/forallx-yyc/bookml
. - run
make -f Bookml.mk
from inside~/forallx-yyc
.
If this works, your HTML files can be found in
~/forallx-yyc/auxdir/html/forallxyyc-html/
and the SCORM package in
~/forallx-yyc/SCORM.forallxyyc-html.zip
.
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.