Results 1  10
of
31
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.
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 32 (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 27 (6 self)
 Add to MetaCart
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 18 (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.
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
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 15 (1 self)
 Add to MetaCart
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
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 13 (4 self)
 Add to MetaCart
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
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
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.
A parameterized benchmark suite of hard pipelinedmachineverification problems
 In Advanced Research Working Conference on Correct Hardware Design and Verification Methods
, 2005
"... ..."
Preface to the special volume on the sat 2005 competitions and evaluations
 Journal of Satisfiability, Boolean Modeling and Computation (JSAT
, 2006
"... competitions In 2005 there were numerous “competitive events ” in the area of automated reasoning (in the broad sense): The Tenth CASC competition[23], the First Satisfiability Modulo Theory Competition[3], the First CSP competition, the Fourth SAT competition, the Third QBF evaluation and the First ..."
Abstract

Cited by 7 (0 self)
 Add to MetaCart
competitions In 2005 there were numerous “competitive events ” in the area of automated reasoning (in the broad sense): The Tenth CASC competition[23], the First Satisfiability Modulo Theory Competition[3], the First CSP competition, the Fourth SAT competition, the Third QBF evaluation and the First Pseudo Boolean evaluation, etc. Starting such an event is suitable for promoting a common input format and to build a repository of benchmarks in that format: this was the motivation behind the SMT and CSP competitions and the PB evaluation. The First QBF evaluation was also organized two years ago in that spirit and the renewal since then allowed to impose the QDimacs input format and to increase both the number of solvers and benchmarks available each year. More mature events, such as the CASC competitions, are a bit different: both the pool of benchmarks (TPTP) and the pool of solvers are quite stable and the competitions allow to track the progress of new versions of those solvers on a well studied set of benchmarks. The SAT competitions are again different: the first SAT competition is older than