Mathematical Logic for Computer Science is a mathematics textbook with theorems and proofs, but the choice of topics has been guided by the needs of students of computer science. The method of semantic tableaux provides an elegant way to teach logic that is both theoretically sound and easy to understand. The uniform use of tableaux-based techniques facilitates learning advanced logical systems based on what the student has learned from elementary systems. The logical systems presented are: propositional logic, first-order logic, resolution and its application to logic programming, Hoare logic for the verification of sequential programs, and linear temporal logic for the verification of concurrent programs. The third edition has been entirely rewritten and includes new chapters on central topics of modern computer science: SAT solvers and model checking. Mathematical Logic for Computer Science is a mathematics textbook with theorems and proofs, but the choice of topics has been guided by the needs of students of computer science. The method of semantic tableaux provides an elegant way to teach logic that is both theoretically sound and easy to understand. The uniform use of tableaux-based techniques facilitates learning advanced logical systems based on what the student has learned from elementary systems. The logical systems presented are: propositional logic, first-order logic, resolution and its application to logic programming, Hoare logic for the verification of sequential programs, and linear temporal logic for the verification of concurrent programs. The third edition has been entirely rewritten and includes new chapters on central topics of modern computer science: SAT solvers and model checking. There are 150 exercises with answers available to qualified instructors. Documented, open-source, Prolog source code for the algorithms is available at http://code.google.com/p/mlcs/ Mordechai (Moti) Ben-Ari is with the Department of Science Teaching at the Weizmann Institute of Science. He is a Distinguished Educator of the ACM and has received the ACM/SIGCSE Award for Outstanding Contributions to Computer Science Education. His other textbooks published by Springer are: Ada for Software Engineers (Second Edition) and Principles of the Spin Model Checker. Introduction Propositional logic: formulas, models, tableaux Propositional logic: deductive systems Propositional logic: resolution Propositional logic: binary decision diagrams Propositional logic: SAT solvers First-order logic: formulas, models, tableaux First-order logic: deductive systems First-order logic: terms and normal forms First-order logic: resolution First-order logic: logic programming First-order logic: undecidability and model theory Temporal logic: formulas, models, tableaux Temporal logic: a deductive system Verification of sequential programs Verification of concurrent programs. Mathematical Logic for Computer Science is a mathematics textbook with theorems and proofs, but the choice of topics has been guided by the needs of computer science students. The method of semantic tableaux provides an elegant way to teach logic that is both theoretically sound and yet sufficiently elementary for undergraduates. To provide a balanced treatment of logic, tableaux are related to deductive proof systems. The logical systems presented are: - Propositional calculus (including binary decision diagrams); - Predicate calculus; - Resolution; - Hoare logic; - Z; - Temporal logic