This book uses the friendly format of the computing language Prolog to teach a full formal predicate logic. With Prolog, the scope and limits of both logic and computing can be explored and experimented. Students learning formal logic in a Prolog format can begin using their already developed informal abilities in logic to program in Prolog and conversely learn enough formal logic to examine Prolog and computing in general so major fundamental theorems can be demonstrated. Cases such as Church's Thesis, Church's Theorem, Turing's Halting Problem, and Godel's Incompleteness Theorem provide the author with the means to assess some of the philosophical implications of logic and computing. Henry designed the book for undergraduate students, but it is also useful for philosophers and theologians who wish to see how computer programming serves as a probe into philosophical matters. Contents: The Formalization of Logic; Propositional Logic; Predicate Logic; Prolog: Programming in Logic; Logic Machines; The Scope and Limits of Logic and Logic Machines; Philosophical Reflections; Appendix; Bibliography; Index.