MathSAT: Tight Integration of SAT and Mathematical Decision Procedures
Autor: | Roberto Sebastiani, Stephan Schulz, Tommi Junttila, Roberto Bruttomesso, Alessandro Cimatti, Peter van Rossum, Marco Bozzano |
---|---|
Rok vydání: | 2005 |
Předmět: |
Propositional variable
Theoretical computer science Computer science Solver Satisfiability Computational Theory and Mathematics Artificial Intelligence Computer Science::Logic in Computer Science Satisfiability modulo theories Hybrid system Backjumping Boolean satisfiability problem Representation (mathematics) Software |
Zdroj: | Journal of Automated Reasoning. 35:265-293 |
ISSN: | 1573-0670 0168-7433 |
DOI: | 10.1007/s10817-005-9004-z |
Popis: | Recent improvements in propositional satisfiability techniques (SAT) made it possible to tackle successfully some hard real-world problems (e.g., model-checking, circuit testing, propositional planning) by encoding into SAT. However, a purely Boolean representation is not expressive enough for many other real-world applications, including the verification of timed and hybrid systems, of proof obligations in software, and of circuit design at RTL level. These problems can be naturally modeled as satisfiability in linear arithmetic logic (LAL), that is, the Boolean combination of propositional variables and linear constraints over numerical variables. In this paper we present MathSAT, a new, SAT-based decision procedure for LAL, based on the (known approach) of integrating a state-of-the-art SAT solver with a dedicated mathematical solver for LAL. We improve MathSAT in two different directions. First, the top?level line procedure is enhanced and now features a tighter integration between the Boolean search and the mathematical solver. In particular, we allow for theory-driven backjumping and learning, and theory-driven deduction; we use static learning in order to reduce the number of Boolean models that are mathematically inconsistent; we exploit problem clustering in order to partition mathematical reasoning; and we define a stack-based interface that allows us to implement mathematical reasoning in an incremental and backtrackable way. Second, the mathematical solver is based on layering; that is, the consistency of (partial) assignments is checked in theories of increasing strength (equality and uninterpreted functions, linear arithmetic over the reals, linear arithmetic over the integers). For each of these layers, a dedicated (sub)solver is used. Cheaper solvers are called first, and detection of inconsistency makes call of the subsequent solvers superfluous. We provide a through experimental evaluation of our approach, by taking into account a large set of previously proposed benchmarks. We first investigate the relative benefits and drawbacks of each proposed technique by comparison with respect to a reference option setting. We then demonstrate the global effectiveness of our approach by a comparison with several state-of-the-art decision procedures. We show that the behavior of MathSAT is often superior to its competitors, both on LAL and in the subclass of difference logic. |
Databáze: | OpenAIRE |
Externí odkaz: |