Results 1  10
of
39
Lazy Satisfiability Modulo Theories
 JOURNAL ON SATISFIABILITY, BOOLEAN MODELING AND COMPUTATION 3 (2007) 141Â224
, 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 97 (38 self)
 Add to MetaCart
(Show Context)
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
C.: The SMTLIB Standard: Version 2.0
, 2010
"... Permission is granted to anyone to make or distribute verbatim copies of this document, in any medium, provided that the copyright notice and permission notice are preserved, and that the distributor grants the recipient permission for further redistribution as permitted by this notice. Modified ver ..."
Abstract

Cited by 40 (4 self)
 Add to MetaCart
(Show Context)
Permission is granted to anyone to make or distribute verbatim copies of this document, in any medium, provided that the copyright notice and permission notice are preserved, and that the distributor grants the recipient permission for further redistribution as permitted by this notice. Modified versions may not be made. Preface The SMTLIB initiative is an international effort, supported by several research groups worldwide, with the twofold goal of producing an extensive online library of benchmarks and promoting the adoption of common languages and interfaces for SMT solvers. This document specifies Version 2.0 of the SMTLIB Standard. This is a major upgrade of the previous version, Version 1.2, which, in addition to simplifying and extending the languages of that version, includes a new command language for interfacing with SMT solvers. Acknowledgments Version 2.0 of the SMTLIB standard was developed with the input of the whole SMT community and three international work groups consisting of developers and users of SMT tools: the SMTAPI work group, led by A. Stump, the SMTLOGIC work group, led by C. Tinelli, the SMTMODELS work group, led by C. Barrett. Particular thanks are due to the following work group members, who contributed numerous
Propositional Satisfiability and Constraint Programming: a Comparative Survey
 ACM Computing Surveys
, 2006
"... Propositional Satisfiability (SAT) and Constraint Programming (CP) have developed as two relatively independent threads of research, crossfertilising occasionally. These two approaches to problem solving have a lot in common, as evidenced by similar ideas underlying the branch and prune algorithms ..."
Abstract

Cited by 34 (4 self)
 Add to MetaCart
Propositional Satisfiability (SAT) and Constraint Programming (CP) have developed as two relatively independent threads of research, crossfertilising occasionally. These two approaches to problem solving have a lot in common, as evidenced by similar ideas underlying the branch and prune algorithms that are most successful at solving both kinds of problems. They also exhibit differences in the way they are used to state and solve problems, since SAT’s approach is in general a blackbox approach, while CP aims at being tunable and programmable. This survey overviews the two areas in a comparative way, emphasising the similarities and differences between the two and the points where we feel that one technology can benefit from ideas or experience acquired
Splitting on Demand in SAT Modulo Theories
 In Proc. LPAR’06, volume 4246 of LNAI
, 2006
"... Abstract. Lazy algorithms for Satisfiability Modulo Theories (SMT) combine a generic DPLLbased SAT engine with a theory solver for the given theory T that can decide the Tconsistency of conjunctions of ground literals. For many theories of interest, theory solvers need to reason by performing inte ..."
Abstract

Cited by 32 (11 self)
 Add to MetaCart
(Show Context)
Abstract. Lazy algorithms for Satisfiability Modulo Theories (SMT) combine a generic DPLLbased SAT engine with a theory solver for the given theory T that can decide the Tconsistency of conjunctions of ground literals. For many theories of interest, theory solvers need to reason by performing internal case splits. Here we argue that it is more convenient to delegate these case splits to the DPLL engine instead. This can be done on demand for solvers that can encode their internal case splits into one or more clauses, possibly including new constants and literals. It results in drastically simpler theory solvers, and can lead, we believe, to more efficient overall systems. We present this in an improved version of DPLL(T), a general SMT architecture for the lazy approach, and formalize and prove it correct in an extension of Abstract DPLL Modulo Theories, a framework for modeling and reasoning about lazy algorithms for SMT. A remarkable additional feature of the architecture, also discussed in the paper, is that it naturally includes an efficient NelsonOppenlike combination of multiple theories and their solvers. 1
Fast Congruence Closure and Extensions
, 2006
"... Congruence closure algorithms for deduction in ground equational theories are ubiquitous in many (semi)decision procedures used for verification and automated deduction. In many of these applications one needs an incremental algorithm that is moreover capable of recovering, among the thousands of i ..."
Abstract

Cited by 19 (1 self)
 Add to MetaCart
Congruence closure algorithms for deduction in ground equational theories are ubiquitous in many (semi)decision procedures used for verification and automated deduction. In many of these applications one needs an incremental algorithm that is moreover capable of recovering, among the thousands of input equations, the small subset that explains the equivalence of a given pair of terms. In this paper we present an algorithm satisfying all these requirements. First, building on ideas from abstract congruence closure algorithms [Kapur (1997,RTA), Bachmair & Tiwari (2000,CADE)], we present a very simple and clean incremental congruence closure algorithm and show that it runs in the best known time O(n log n). After that, we introduce a proofproducing unionfind data structure that is then used for extending our congruence closure algorithm, without increasing the overall O(n log n) time, in order to produce a kstep explanation for a given equation in almost optimal time (quasilinear in k). Finally, we show that the previous algorithms can be smoothly extended, while still obtaining the same asymptotic time bounds, in order to support the interpreted functions symbols successor and predecessor, which have been shown to be very useful in applications such as microprocessor verification.
SMT techniques for fast predicate abstraction
 In Computer Aided Verification (CAV
, 2006
"... Abstract. Predicate abstraction is a technique for automatically extracting finitestate abstractions for systems with potentially infinite state space. The fundamental operation in predicate abstraction is to compute the best approximation of a Boolean formula ϕ over a set of predicates P. In this ..."
Abstract

Cited by 18 (2 self)
 Add to MetaCart
(Show Context)
Abstract. Predicate abstraction is a technique for automatically extracting finitestate abstractions for systems with potentially infinite state space. The fundamental operation in predicate abstraction is to compute the best approximation of a Boolean formula ϕ over a set of predicates P. In this work, we demonstrate the use for this operation of a decision procedure based on the DPLL(T) framework for SAT Modulo Theories (SMT). The new algorithm is based on a careful generation of the set of all satisfying assignments over a set of predicates. It consistently outperforms previous methods by a factor of at least 20, on a diverse set of hardware and software verification benchmarks. We report detailed analysis of the results and the impact of a number of variations of the techniques. We also propose and evaluate a scheme for incremental refinement of approximations for predicate abstraction in the above framework. 1
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 18 (6 self)
 Add to MetaCart
(Show Context)
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
On SAT Modulo Theories and Optimization Problems
 In Theory and Applications of Satisfiability Testing (SAT), LNCS 4121
, 2006
"... Abstract. Solvers for SAT Modulo Theories (SMT) can nowadays handle large industrial (e.g., formal hardware and software verification) problems over theories such as the integers, arrays, or equality. Here we show that SMT approaches can also efficiently solve problems that, at first sight, do not h ..."
Abstract

Cited by 16 (4 self)
 Add to MetaCart
(Show Context)
Abstract. Solvers for SAT Modulo Theories (SMT) can nowadays handle large industrial (e.g., formal hardware and software verification) problems over theories such as the integers, arrays, or equality. Here we show that SMT approaches can also efficiently solve problems that, at first sight, do not have a typical SMT flavor. In particular, here we deal with SAT and SMT problems where models M are sought such that a given cost function f(M) is minimized. For this purpose, we introduce a variant of SMT where the theory T DPLL Modulo Theories framework. We discuss two different examples of applications of this SMT variant: weighted MaxSAT and weighted MaxSMT. We show how, with relatively little effort, one can obtain a competitive system that, in the case of weighted MaxSMT in the theory of Difference Logic, can even handle wellknown hard radio frequency assignment problems without any tailored heuristics. These results seem to indicate that MaxSAT/SMT techniques can already be used for realistic applications. 1
A parameterized benchmark suite of hard pipelinedmachineverification problems
 In Advanced Research Working Conference on Correct Hardware Design and Verification Methods
, 2005
"... ..."
(Show Context)
To Ackermannize or not to Ackermannize? On Efficiently Handling Uninterpreted Function Symbols in SMT (EUF ∪ T)
 LPAR
, 2006
"... Satisfiability Modulo Theories (SMT(T)) is the problem of deciding the satisfiability of a formula with respect to a given background theory T. When T is the combination of two simpler theories T1 and T2 (SMT(T1 ∪ T2)), a standard and general approach is to handle the integration of T1 and T2 by pe ..."
Abstract

Cited by 8 (3 self)
 Add to MetaCart
(Show Context)
Satisfiability Modulo Theories (SMT(T)) is the problem of deciding the satisfiability of a formula with respect to a given background theory T. When T is the combination of two simpler theories T1 and T2 (SMT(T1 ∪ T2)), a standard and general approach is to handle the integration of T1 and T2 by performing some form of search on the equalities between the shared variables. A frequent and very relevant subcase of SMT(T1 ∪ T2) is when T1 is the theory of Equality and Uninterpreted Functions (EUF). For this case, an alternative approach is to eliminate first all uninterpreted function symbols by means of Ackermann’s expansion, and then to solve the resulting SMT (T2) problem. In this paper we build on the empirical observation that there is no absolute winner between these two alternative approaches, and that the performance gaps between them are often dramatic, in either direction. We propose a simple technique for estimating a priori the costs and benefits, in terms of the size of the search space of an SMT tool, of applying Ackermann’s expansion to all or part of the function symbols. We have implemented a preprocessor which analyzes the input formula, decides autonomously which functions to expand, performs such expansions and gives the resulting formula as input to an SMT tool. A thorough experimental analysis, including the benchmarks of the SMT’05 competition, shows that our preprocessor performs the best choice(s) nearly always, and that the proposed technique is extremely effective in improving the overall performance of the SMT tool.