This book covers the mathematical logic necessary to computer science; affirm algorithmic methods for solving proofs. Treatment is self-contained, with all required mathematics include in Chapter 2 and the appendix. Provides readable, inaugural definitions and offers a unified framework using Getzen systems. Offers unique coverage of congruence, and contains an entire chapter devoted to SLD resolution and logic programming. Includes applications to artificial intelligence. Each chapter contains worked examples, programming assignments, problems graded according to difficulty, and historical remarks and suggestions for further reading.