MathSAT: Tight Integration of SAT and Mathematical Decision Procedures |
| |
Authors: | Marco Bozzano Roberto Bruttomesso Alessandro Cimatti Tommi Junttila Peter van Rossum Stephan Schulz Roberto Sebastiani |
| |
Affiliation: | (1) ITC-IRST, via Sommarive 18, 38050 Povo, Trento, Italy;(2) Helsinki University of Technology, P.O. Box 5400, FIN-02015 TKK Helsinki, Finland;(3) Università di Verona, Strada le Grazie 15, 37134 Verona, Italy;(4) DIT, Università di Trento, via Sommarive 14, 38050 Povo, Trento, Italy |
| |
Abstract: | 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.
This work has been partly supported by ISAAC, a European-sponsored project, contract no. AST3-CT-2003-501848; by ORCHID, a
project sponsored by Provincia Autonoma di Trento; and by a grant from Intel Corporation. The work of T. Junttila has also
been supported by the Academy of Finland, project 53695. S. Schulz has also been supported by a grant of the Italian Ministero
dell'Istruzione, dell'Università e della Ricerca and the University of Verona. |
| |
Keywords: | Satisfiability module theory Integrated decision procedures Linear arithmetic logic Propositional satisfiability |
本文献已被 SpringerLink 等数据库收录! |
|