This monograph on classical logic presents fundamental concepts and results in a rigorous mathematical style. Applications to automated theorem proving are considered and usable programs in Prolog are provided. This material can be used both as a first text in formal logic and as an introduction to automation issues, and is intended for those interested in computer science and mathematics at the beginning graduate level. The book begins with propositional logic, then treats first-order logic, and finally, first-order logic with equality. In each case the initial presentation is semantic: Boolean valuations for propositional logic, models for first-order logic, and normal models when equality is added. This defines the intended subjects independently of a particular choice of proof mechanism. Then many kinds of proof procedures are introduced: tableau, resolution, natural deduction, Gentzen sequent and axiom systems. Completeness issues are centered in a model existence theorem, which permits the coverage of a variety of proof procedures without repetition of detail. In addition, results such as compactness, interpolation, and the Beth definability theorem are easily established.
Implementations of tableau theorem provers are given in Prolog, and resolution is left as a project for the student.