A textbook on the semantics, proof theory, and metatheory of first-order logic. Covers naive set theory, first-order logic, sequent calculus and natural deduction, the completeness, compactness, and Löwenheim-Skolem theorems, Turing machines, and the undecidability of the halting problem and of first-order logic. It is based on the Open Logic project, and available for free download at slc.openlogicproject.org.
This book is apart of a series of books that Richard Zach wrote and uses to teach his Logic I, II, and III classes at the University of Calgary; and is apart of a wider collection of free logic books offered by the open logic project(https://openlogicproject.org/).
The book, as the title suggests, is divided into three parts, naive set theory and the cardinality of sets, metalogic of first-order logic with emphasis on the completeness theorem, as well as Turing machines and their relationship to first-order logic via the decision problem and Trakhtenbrot’s Theorem.
Each section builds on top of each other: We now talk about collections of first-order sentences as being apart of a set, and structures, their constants, functions, and predicate are defined in relation to sets. We then use Turing machines to talk about whether there is an effective method of determining satisfaction of a sentence more generally(which there is not).
The book is rich with examples, and problems for each chapter. Additionally, each section gives an overview of what is being discussed, and each chapter reiterates its goals. Hence, I never found myself staying lost for long.
Typos, the occassional faulty definition or problem, and the lack of a solution set(with the exception of many of the problems in section III which can be verified using their online Turing machine) make this book fall from heaven, but all’s right in the world.
I heavily recommend this book for anyone with an interest in metalogic.