Decision Procedures [electronic resource] : An Algorithmic Point of View / by Daniel Kroening, Ofer Strichman.
2016
QA75.5-76.95
Linked e-resources
Linked Resource
Online Access
Concurrent users
Unlimited
Authorized users
Authorized users
Document Delivery Supplied
Can lend chapters, not whole ebooks
Details
Title
Decision Procedures [electronic resource] : An Algorithmic Point of View / by Daniel Kroening, Ofer Strichman.
Author
Kroening, Daniel. author.
Edition
2nd ed. 2016.
ISBN
9783662504970
3662504979
3662504960
9783662504963
3662504979
3662504960
9783662504963
Published
Berlin, Heidelberg : Springer Berlin Heidelberg : Imprint: Springer, 2016.
Language
English
Description
1 online resource (xxi, 356 pages) : illustrations.
Item Number
10.1007/978-3-662-50497-0 doi
Call Number
QA75.5-76.95
Dewey Decimal Classification
004.0151
Summary
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 SAT, Satisfiability Modulo Theories (SMT) and the DPLL(T) framework. Then, in separate chapters, they study decision procedures for 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 based on the Nelson-Oppen procedure. The first edition of this book was adopted as a textbook in courses worldwide. It was published in 2008 and the field now called SMT was then in its infancy, without the standard terminology and canonic algorithms it has now; this second edition reflects these changes. It brings forward the DPLL(T) framework. It also expands the SAT chapter with modern SAT heuristics, and includes a new section about incremental satisfiability, and the related Constraints Satisfaction Problem (CSP). The chapter about quantifiers was expanded with a new section about general quantification using E-matching and a section about Effectively Propositional Reasoning (EPR). The book also includes a new chapter on the application of SMT in industrial software engineering and in computational biology, coauthored by Nikolaj Bjørner and Leonardo de Moura, and Hillel Kugler, respectively. 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.
Bibliography, etc. Note
Includes bibliographical references and indexes.
Access Note
Access limited to authorized users.
Digital File Characteristics
text file PDF
Added Author
Strichman, Ofer. author.
Series
Texts in Theoretical Computer Science. An EATCS Series.
Available in Other Form
Print version: 9783662504963
Linked Resources
Online Access
Record Appears in
Online Resources > Ebooks
All Resources
All Resources
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.
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.