Decision Procedures: An Algorithmic Point of View (Texts in Theoretical Computer Science)

Author: Ofer Strichman Daniel Kroening
Publisher: Springer-Verlag Berlin and Heidelberg GmbH & Co. KG
Category: Mathematical Logic, Probability & Statistics, Optimization, Applied Mathematics, Computer Programming / Software Development, Software Engineering, Computer Science, Computer Architecture & Logic Design, Artificial Intelligence
Book Format: Paperback

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
Introduction and Basic Concepts.- Decision Procedures for Propositional Logic.- From Propositional to Quantifier-Free Theories.- Equalities and Uninterpreted Functions.- Linear Arithmetic.- Bit Vectors.- Arrays.- Pointer Logic.- Quantified Formulas.- Deciding a Combination of Theories.- Propositional Encodings.- Applications in Software Engineering.- SMT-LIB 2.0: A Brief Tutorial.- A C++ Library for Developing Decision Procedures.
About Daniel Kroening
Daniel Kroening is a professor in the Dept. of Computer Science at the University of Oxford; his interests include automated verification, software engineering, and programming languages. Ofer Strichman is a professor in the faculty of industrial engineering and management at the Technion; his research interests include formal verification of software and hardware, and decision procedures for fragments of first-order logic.

(BK-9783662570654)

SKU BK-9783662570654
Barcode # 9783662570654
Brand Springer-Verlag Berlin and Heidelberg GmbH & Co. K
Artist / Author Ofer Strichman Daniel Kroening
Shipping Weight 0.6000kg
Shipping Width 0.160m
Shipping Height 0.020m
Shipping Length 0.230m
Assembled Length 23.400m
Assembled Height 2.000m
Assembled Width 15.600m
Type Paperback

Be The First To Review This Product!

Help other Augoods users shop smarter by writing reviews for products you have purchased.

Write a product review

More From This Category