Jump to ratings and reviews
Rate this book

Decision Procedures: An Algorithmic Point of View

Rate this book
A decision procedure is an algorithm that, given a decision problem, terminates with a correct yes/no answer. Here, the authors focus on theories that are expressive enough to model real problems, but are still decidable. Specifically, the book concentrates on decision procedures for first-order theories that are commonly used in automated verification and reasoning, theorem-proving, compiler optimization and operations research. The techniques described in the book draw from fields such as graph theory and logic, and are routinely used in industry.
The authors introduce the basic terminology of satisfiability modulo theories and then, in separate chapters, study decision procedures for each of the following propositional logic; equalities and uninterpreted functions; linear arithmetic; bit vectors; arrays; pointer logic; and quantified formulas. They also study the problem of deciding combined theories and dedicate a chapter to modern techniques based on an interplay between a SAT solver and a decision procedure for the investigated theory.
This textbook has been used to teach undergraduate and graduate courses at ETH Zurich, at the Technion, Haifa, and at the University of Oxford. Each chapter includes a detailed bibliography and exercises. Lecturers' slides and a C++ library for rapid prototyping of decision procedures are available from the authors' website.

322 pages, Hardcover

First published May 23, 2008

Loading...
Loading...

About the author

Daniel Kroening is Professor of Computer Science at the University of Oxford.

Ratings & Reviews

What do you think?
Rate this book

Friends & Following

Create a free account to discover what your friends think of this book!

Community Reviews

5 stars
5 (41%)
4 stars
4 (33%)
3 stars
3 (25%)
2 stars
0 (0%)
1 star
0 (0%)
Displaying 1 - 1 of 1 review
Profile Image for Abdullah Shams.
124 reviews5 followers
February 12, 2020
Complete, precise and elaborate.

-contains detailed code reference in C++ for the use of SMT-Lib
Displaying 1 - 1 of 1 review