In recent times, I have found myself expanding a set of notes into a full-fledged logic textbook. This page includes links to download parts for sentential logic, for the first and second volumes of the text, and for the complete work. These are formatted for either single- or double-sided printing. There are also answers to selected exercises—answers are on large pages, and best viewed on a larger monitor. I am happy for anyone to use this material, and appreciate comments—which you may make via the **Textbook Blog**!

**From the Preface:** There is, I think, a gap between what many students learn in their ﬁrst course in formal logic, and what they are expected to know for their second. While courses in mathematical logic with metalogical components often cast only the barest glance at mathematical induction or even the very idea of reasoning from deﬁnitions, a ﬁrst course may also leave these untreated, and fail explicitly to lay down the deﬁnitions upon which the second course is based. The aim of this text is to integrate material from these courses and, in particular, to make serious mathematical logic accessible to students I teach. The ﬁrst parts introduce classical symbolic logic as appropriate for beginning students; the last parts build to Gödel’s completeness and ıncompleteness results. A distinctive feature of the last section is a complete development of Gödel’s second ıncompleteness theorem. Complete preface to the textbook.

*Sentential Logic,* first parts of chapters 1–7:
SntL_single-sided and
SntL_double-sided

*Symbolic Logic: Volume I,* all of chapters 1–8:
SLVI_single-sided and
SLVI_double-sided

*Symbolic Logic: Volume II,* all of chapters 9–14:
SLVII_single-sided and
SLVII_double-sided

*Symbolic Logic,* complete text:
SL_single-sided and
SL_double-sided

*Symbolic Logic:* Answers to Selected Exercises (there is also a
version for instructors / request instructor password)

*Some other useful files:*

*Symbolic Logic:*most recent version*Trees for sentential formulas:*Symbolyzer / instructions for Symbolyzer*Ruby recursive program files:*running Ruby / recursive1.rb*Turing machine files:*running the simulator / state.rb / turing_machine.rb / suc.rb / blank.rb*If you are interested in LaTeX:*getting started with LaTeX / test.tex / preamble.tex