Provides a sound basis in logic, and introduces logical frameworks
used in modelling, specifying and verifying computer systems.
Recent years have seen the development of powerful tools for
verifying hardware and software systems, as companies worldwide
realise the need for improved means of validating their products.
There is increasing demand for training in basic methods in formal
reasoning so that students can gain proficiency in logic-based
verification methods. The second edition of this successful
textbook addresses both those requirements, by continuing to
provide a clear introduction to formal reasoning which is both
relevant to the needs of modern computer science and rigorous
enough for practical application. Improvements to the first edition
have been made throughout, with extra and expanded sections on SAT
solvers, existential/universal second-order logic, micro-models,
programming by contract and total correctness. The coverage of
model-checking has been substantially updated. Further exercises
have been added. Internet support for the book includes worked
solutions for all exercises for teachers, and model solutions to
some exercises for students.
Table of contents:
Foreword; 1. Propositional logic; 2. Predicate logic; 3.
Verification by model checking; 4. Program verification; 5. Modal
logics and agents; 6. Binary decision diagrams; Bibliography;
'... an unusual, inspiring and remarkable book ... one can find in it all the material which is suitable for undergraduate and beginning graduate students in computer science and electrical engineering who will profit by using it in their professional activities in the near future.' Zentralblatt MATH 'The second edition of this successful textbook continues to provide a clear introduction to formal reasoning relevant to the needs of modern computer science and sufficiently exacting for practical applications.' Phinews 'This book provides an elegant introduction to formal reasoning that is relevant to computation science. This second edition improves the first one with extra and expanded sections on temporal logic model checking, SAT solvers, second-order logic, the Alloy specification language, and programming by contract. The material is up-to-date and practical ...' Zentralblatt MATH