Apress Windows 10 Release Sale

Decision Procedures

An Algorithmic Point of View

By Daniel Kroening , Ofer Strichman , R.E. Bryant

  • eBook Price: $49.95
Buy eBook Buy Print Book

Decision Procedures Cover Image

This textbook on decision procedure has been used to teach undergraduate and graduate courses at ETH Zurich and at the Technion, Haifa. The authors focus on theories that are expressive enough to model real problems, but are still decidable.

Full Description

  • Add to Wishlist
  • ISBN13: 978-3-5407-4104-6
  • 324 Pages
  • User Level: Students
  • Publication Date: April 29, 2008
  • Available eBook Formats: PDF

Related Titles

  • Information Systems and Neuroscience
  • BPM - Driving Innovation in a Digital World
  • Data-Driven Process Discovery and Analysis
  • Physical Asset Management
  • Transactions on Large-Scale Data- and Knowledge-Centered Systems XVIII
  • UML @ Classroom
  • AIDA-CMK: Multi-Algorithm Optimization Kernel Applied to Analog IC Sizing
  • Computational Color Imaging
  • Uncertainty Quantification in Computational Fluid Dynamics and Aircraft Engines
  • Non-Linear Finite Element Analysis in Structural Mechanics
Full Description
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.
Table of Contents

Table of Contents

  1. Introduction and Basic Concepts.
  2. Decision Procedures for Propositional Logic.
  3. Equalities and Uninterpreted Functions.
  4. Decision Procedures for Equality Logic and Uninterpreted Functions.
  5. Linear Arithmetic.
  6. Bit Vectors.
  7. Arrays.
  8. Pointer Logic.
  9. Quantified Formulas.
  10. Deciding a Combination of Theories.
  11. Propositional Encodings.
  12. App. A, The SMT
  13. LIB Initiative.
  14. App. B, A C++ Library for Developing Decision Procedures.
  15. References.
  16. Index

Please Login to submit errata.

No errata are currently published


    1. Pro SQL Server Internals


      View Details

    2. Beginning 3D Game Development with Unity 4


      View Details

    3. Beginning iPhone Development with Swift


      View Details

    4. Financial Modeling for Business Owners and Entrepreneurs


      View Details