Decision procedures : an algorithmic point of view / Daniel Kroening, Ofer Strichman ; foreword by Randal E. Bryant.

Author
Kroening, Daniel [Browse]
Format
Book
Language
English
Published/​Created
Berlin : Springer, c2008.
Description
xvi, 304 p. : ill. ; 24 cm.

Details

Subject(s)
Series
Texts in theoretical computer science, 1862-4499 [More in this series]
Summary note
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 theories: 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.
Bibliographic references
Includes bibliographical references (p. [285]-297) and index.
Contents
  • Introduction and basic concepts
  • Decision procedures for propositional logic
  • Equality logic and uninterpreted functions
  • Decision procedures for equality logic and uninterpreted functions
  • Linear arithmetic
  • Bit vectors
  • Arrays
  • Pointer logic
  • Quantified formulas
  • Deciding a combination of theories
  • Propositional encodings.
ISBN
  • 3540741046
  • 9783540741046
LCCN
2008924795
OCLC
209334215
Statement on language in description
Princeton University Library aims to describe library materials in a manner that is respectful to the individuals and communities who create, use, and are represented in the collections we manage. Read more...
Other views
Staff view

Supplementary Information