Results 1  10
of
24
Lazy Satisfiability Modulo Theories
 Journal on Satisfiability, Boolean Modeling and Computation
, 2007
"... Satisfiability Modulo Theories (SMT) is the problem of deciding the satisfiability of a firstorder formula with respect to some decidable firstorder theory T (SMT (T)). These problems are typically not handled adequately by standard automated theorem provers. SMT is being recognized as increasingl ..."
Abstract

Cited by 74 (32 self)
 Add to MetaCart
Satisfiability Modulo Theories (SMT) is the problem of deciding the satisfiability of a firstorder formula with respect to some decidable firstorder theory T (SMT (T)). These problems are typically not handled adequately by standard automated theorem provers. SMT is being recognized as increasingly important due to its applications in many domains in different communities, in particular in formal verification. An amount of papers with novel and very efficient techniques for SMT has been published in the last years, and some very efficient SMT tools are now available. Typical SMT (T) problems require testing the satisfiability of formulas which are Boolean combinations of atomic propositions and atomic expressions in T, so that heavy Boolean reasoning must be efficiently combined with expressive theoryspecific reasoning. The dominating approach to SMT (T), called lazy approach, is based on the integration of a SAT solver and of a decision procedure able to handle sets of atomic constraints in T (Tsolver), handling respectively the Boolean and the theoryspecific components of reasoning. Unfortunately, neither the problem of building an efficient SMT solver, nor even that of acquiring a comprehensive background knowledge in lazy SMT, is of simple solution. In this paper we present an extensive survey of SMT, with particular focus on the lazy approach. We survey, classify and analyze from a theoryindependent perspective the most effective techniques and optimizations which are of interest for lazy SMT and which have been proposed in various communities; we discuss their relative benefits and drawbacks; we provide some guidelines about their choice and usage; we also analyze the features for SAT solvers and Tsolvers which make them more suitable for an integration. The ultimate goals of this paper are to become a source of a common background knowledge and terminology for students and researchers in different areas, to provide a reference guide for developers of SMT tools, and to stimulate the crossfertilization of techniques and ideas among different communities.
Generalized, Efficient Array Decision Procedures
, 2009
"... The theory of arrays is ubiquitous in the context of software and hardware verification and symbolic analysis. The basic array theory was introduced by McCarthy and allows to symbolically representing array updates. In this paper we present combinatory array logic, CAL, using a small, but powerful ..."
Abstract

Cited by 17 (0 self)
 Add to MetaCart
The theory of arrays is ubiquitous in the context of software and hardware verification and symbolic analysis. The basic array theory was introduced by McCarthy and allows to symbolically representing array updates. In this paper we present combinatory array logic, CAL, using a small, but powerful core of combinators, and reduce it to the theory of uninterpreted functions. CAL allows expressing properties that go well beyond the basic array theory. We provide a new efficient decision procedure for the base theory as well as CAL. The efficient procedure serves a critical role in the performance of the stateoftheart SMT solver Z3 on array formulas from applications.
veriT: an open, trustable and efficient SMTsolver
 Proc. Conference on Automated Deduction (CADE), volume 5663 of Lecture Notes in Computer Science
, 2009
"... Abstract. This article describes the first public version of the satisfiability modulo theory (SMT) solver veriT. It is opensource, proofproducing, and complete for quantifierfree formulas with uninterpreted functions and difference logic on real numbers and integers. 1 ..."
Abstract

Cited by 16 (5 self)
 Add to MetaCart
Abstract. This article describes the first public version of the satisfiability modulo theory (SMT) solver veriT. It is opensource, proofproducing, and complete for quantifierfree formulas with uninterpreted functions and difference logic on real numbers and integers. 1
Satisfiability Modulo Theories: An Appetizer
"... Satisfiability Modulo Theories (SMT) is about checking the satisfiability of logical formulas over one or more theories. The problem draws on a combination of some of the most fundamental areas in computer science. It combines the problem of Boolean satisfiability with domains, such as, those studie ..."
Abstract

Cited by 7 (0 self)
 Add to MetaCart
Satisfiability Modulo Theories (SMT) is about checking the satisfiability of logical formulas over one or more theories. The problem draws on a combination of some of the most fundamental areas in computer science. It combines the problem of Boolean satisfiability with domains, such as, those studied in convex optimization and termmanipulating symbolic systems. It also draws on the most prolific problems in the past century of symbolic logic: the decision problem, completeness and incompleteness of logical theories, and finally complexity theory. The problem of modularly combining special purpose algorithms for each domain is as deep and intriguing as finding new algorithms that work particularly well in the context of a combination. SMT also enjoys a very useful role in software engineering. Modern software, hardware analysis and modelbased tools are increasingly complex and multifaceted software systems. However, at their core is invariably a component using symbolic logic for describing states and transformations between them. A well tuned SMT solver that takes into account the stateoftheart breakthroughs usually scales orders of magnitude beyond custom adhoc solvers.
Engineering DPLL(T) + saturation
 PROC. 4TH IJCAR
, 2008
"... Satisfiability Modulo Theories (SMT) solvers have proven highly scalable, efficient and suitable for integrated theory reasoning. The most efficient SMT solvers rely on refutationally incomplete methods for incorporating quantifier reasoning. We describe a calculus and a system that tightly integra ..."
Abstract

Cited by 5 (2 self)
 Add to MetaCart
Satisfiability Modulo Theories (SMT) solvers have proven highly scalable, efficient and suitable for integrated theory reasoning. The most efficient SMT solvers rely on refutationally incomplete methods for incorporating quantifier reasoning. We describe a calculus and a system that tightly integrates Superposition and DPLL(T). In the calculus, all nonunit ground clauses are delegated to the DPLL(T) core. The integration is tight, dependencies on case splits are tracked as hypotheses in the saturation engine. The hypotheses are discharged during backtracking. The combination is refutationally complete for firstorder logic, and its implementation is competitive in performance with Ematching based SMT solvers on problems they are good at.
On variableinactivity and polynomial Tsatisfiability procedures
, 2008
"... Verification problems require to reason in theories of data structures and fragments of arithmetic. Thus, decision procedures for such theories are needed, to be embedded in, or interfaced with, proof assistants or software model checkers. Such decision procedures ought to be sound and complete, to ..."
Abstract

Cited by 4 (3 self)
 Add to MetaCart
Verification problems require to reason in theories of data structures and fragments of arithmetic. Thus, decision procedures for such theories are needed, to be embedded in, or interfaced with, proof assistants or software model checkers. Such decision procedures ought to be sound and complete, to avoid false negatives and false positives, efficient, to handle large problems, and easy to combine, because most problems involve multiple theories. The rewritebased approach to decision procedures aims at addressing these sometimes conflicting issues in a uniform way, by harnessing the power of general firstorder theorem proving. In this article, we generalize the rewritebased approach from deciding the satisfiability of sets of ground literals to deciding that of arbitrary ground formulæ in the theory. Next, we present polynomial rewritebased satisfiability procedures for the theories of records with extensionality and integer offsets. The generalization of the rewritebased approach to arbitrary ground formulæ and the polynomial satisfiability procedure for the theory of records with extensionality use the same key property – termed variableinactivity – that allows one to combine theories in a simple way in the rewritebased approach.
What’s Decidable About Sequences?
, 2010
"... We present a firstorder theory of sequences with integer elements, Presburger arithmetic, and regular constraints, which can model significant properties of data structures such as arrays and lists. We give a decision procedure for the quantifierfree fragment, based on an encoding into the firsto ..."
Abstract

Cited by 4 (2 self)
 Add to MetaCart
We present a firstorder theory of sequences with integer elements, Presburger arithmetic, and regular constraints, which can model significant properties of data structures such as arrays and lists. We give a decision procedure for the quantifierfree fragment, based on an encoding into the firstorder theory of concatenation; the procedure has PSPACE complexity. The quantifierfree fragment of the theory of sequences can express properties such as sortedness and injectivity, as well as Boolean combinations of periodic and arithmetic facts relating the elements of the sequence and their positions (e.g., “for all even i’s, the element at position i has value i + 3 or 2i”). The resulting expressive power is orthogonal to that of the most expressive decidable logics for arrays. Some examples demonstrate that the fragment is also suitable to reason about sequencemanipulating programs within the standard framework of axiomatic
Theory decision by decomposition
, 2008
"... The topic of this article is decision procedures for satisfiability modulo theories (SMT) of arbitrary quantifierfree formulæ. We propose an approach that decomposes the formula in such a way that its definitional part, including the theory, can be compiled by a rewritebased firstorder theorem pro ..."
Abstract

Cited by 3 (2 self)
 Add to MetaCart
The topic of this article is decision procedures for satisfiability modulo theories (SMT) of arbitrary quantifierfree formulæ. We propose an approach that decomposes the formula in such a way that its definitional part, including the theory, can be compiled by a rewritebased firstorder theorem prover, and the residual problem can be decided by an SMTsolver, based on the DavisPutnamLogemannLoveland procedure. The resulting decision by stages mechanism may unite the complementary strengths of firstorder provers and SMTsolvers. We demonstrate its practicality by giving decision procedures for the theories of records, integer offsets and arrays, with or without extensionality, and for combinations including such theories.
Superpositions for fixed domains
, 2009
"... Superposition is an established decision procedure for a variety of firstorder logic theories represented by sets of clauses. A satisfiable theory, saturated by superposition, implicitly defines a minimal termgenerated model for the theory. Proving universal properties with respect to a saturated ..."
Abstract

Cited by 3 (2 self)
 Add to MetaCart
Superposition is an established decision procedure for a variety of firstorder logic theories represented by sets of clauses. A satisfiable theory, saturated by superposition, implicitly defines a minimal termgenerated model for the theory. Proving universal properties with respect to a saturated theory directly leads to a modification of the minimal model’s termgenerated domain, as new Skolem functions are introduced. For many applications, this is not desired. Therefore, we propose the first superposition calculus that can explicitly represent existentially quantified variables and can thus compute with respect to a given domain. This calculus is sound and refutationally complete in the limit for a firstorder fixed domain semantics. For saturated Horn theories and classes of positive formulas, we can even employ the calculus to prove properties of the minimal model itself, going beyond the scope of known superpositionbased approaches.
Heaps and Data Structures: A Challenge for Automated Provers
"... Software verification is one of the most prominent application areas for automatic reasoning systems, but their potential improvement is limited by shortage of good benchmarks. Current benchmarks are usually large but shallow, require decision procedures, or have soundness problems. In contrast, we ..."
Abstract

Cited by 3 (0 self)
 Add to MetaCart
Software verification is one of the most prominent application areas for automatic reasoning systems, but their potential improvement is limited by shortage of good benchmarks. Current benchmarks are usually large but shallow, require decision procedures, or have soundness problems. In contrast, we propose a family of benchmarks in firstorder logic with equality which is scalable, relatively simple to understand, yet closely resembles difficult verification conditions stemming from realworld C code. Based on this benchmark, we present a detailed comparison of different heap encodings using a number of SMT solvers and ATPs. Our results led to a performance gain of an order of magnitude for the C code verifier VCC.