Handbook of Practical Logic and Automated Reasoning John Harrison Intel Corporation, Portland, Oregon

The sheer complexity of computer systems has meant that automated reasoning, i.e. the ability of computers to perform logical inference, has become a vital component of program construction and of programming language design. This book meets the demand for a self-contained and broad-based account of the concepts, the machinery and the use of automated reasoning. The mathematical logic foundations are described in conjunction with practical application, all with the minimum of prerequisites. The approach is constructive, concrete and algorithmic: a key feature is that methods are described with reference to actual implementations (for which code is supplied) that readers can use, modify and experiment with. This book is ideally suited for those seeking a one-stop source for the general area of automated reasoning. It can be used as a reference, or as a place to learn the fundamentals, either in conjunction with advanced courses or for self study.

• One stop reference that is broad-based and self-contained • Constructive approach that enables topics to be discussed algorithmically; implementation of these algorithms provided as code • Can be used as a reference, or as a place to learn the fundamentals, either in conjunction with advanced courses or for self study

Contents

Preface; Ideological orientation; Acknowledgements; How to read this book; 1. Introduction; 2. Propositional logic; 3. First-order logic; 4. Equality; 5. Decidable problems; 6. Interactive theorem proving; 7. Limitations; Appendix 1. Mathematical background; Appendix 2. OCaml made light of; Appendix 3. Parsing and printing of formulas; References; Index.

Reviews

'Contemporary research in computer science has produced an abundance of formal methods designed to enable hardware and software systems to reason correctly, and to enable us to reason better about these systems. Indeed, the explosion of research and specialised techniques can make it hard for students and newcomers to enter the field. John Harrison's Handbook of Practical Logic and Automated Reasoning is a significant addition to the expository literature on the subject, and will serve as a valuable resource for beginners and experts alike.' Theory and Practice of Logic Programming

'John Harrison … has written what clearly will be the book about automation in theorem proving. People often ask me whether they should buy this book. My answer … always is: yes, of course you should buy this book. It is a masterpiece.' Journal of Automated Reasoning