My Account Log in

1 option

Decision Procedures : An Algorithmic Point of View / by Daniel Kroening, Ofer Strichman.

SpringerLink Books Computer Science (2011-2024) Available online

View online
Format:
Book
Author/Creator:
Kroening, Daniel, author.
Strichman, Ofer, author.
Contributor:
SpringerLink (Online service)
Series:
Computer Science (Springer-11645)
Texts in theoretical computer science 1862-4499
Texts in Theoretical Computer Science. An EATCS Series, 1862-4499
Language:
English
Subjects (All):
Computers.
Software engineering.
Mathematical optimization.
Theory of Computation.
Software Engineering/Programming and Operating Systems.
Optimization.
Local Subjects:
Theory of Computation.
Software Engineering/Programming and Operating Systems.
Optimization.
Physical Description:
1 online resource (XXI, 356 pages) : 64 illustrations, 5 illustrations in color.
Edition:
Second edition 2016.
Contained In:
Springer eBooks
Place of Publication:
Berlin, Heidelberg : Springer Berlin Heidelberg : Imprint: Springer, 2016.
System Details:
text file PDF
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.
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.
Other Format:
Printed edition:
ISBN:
978-3-662-50497-0
9783662504970
Access Restriction:
Restricted for use by site license.

The Penn Libraries is committed to describing library materials using current, accurate, and responsible language. If you discover outdated or inaccurate language, please fill out this feedback form to report it and suggest alternative language.

Find

Home Release notes

My Account

Shelf Request an item Bookmarks Fines and fees Settings

Guides

Using the Find catalog Using Articles+ Using your account