## MathSAT: Tight integration of SAT and mathematical decision procedures (2005)

### Cached

### Download Links

Venue: | Journal of Automated Reasoning |

Citations: | 21 - 2 self |

### BibTeX

@ARTICLE{Bozzano05mathsat:tight,

author = {Marco Bozzano and Roberto Bruttomesso and Ro Cimatti and Tommi Junttila and Stephan Schulz and Roberto Sebastiani},

title = {MathSAT: Tight integration of SAT and mathematical decision procedures},

journal = {Journal of Automated Reasoning},

year = {2005},

volume = {35},

pages = {2005}

}

### Years of Citing Articles

### OpenURL

### Abstract

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), i.e., 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 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

### Citations

1114 | Chaff: Engineering an efficient SAT solver
- Moskewicz, Madigan, et al.
- 2001
(Show Context)
Citation Context ...which it inherits conflict-driven learning and back-jumping, restarts [8, 22, 37], optimized Boolean constraint propagation based on the two-watched literal scheme, and the VSIDS splitting heuristics =-=[28]-=-. In fact, if MATHSAT is given a purely Boolean problem, it behaves substantially like MINISAT, as MATHSOLVE is not instantiated. j The communication with MATHSOLVE is carried out through an interface... |

359 | GRASP a new search algorithm for satisfiability
- Marques-Silva, Sakallah
- 1996
(Show Context)
Citation Context ...lver extended to implement the MATHDPLL algorithm described in Section 3. This solver is built upon the MINISAT solver [17], from which it inherits conflict-driven learning and back-jumping, restarts =-=[8, 22, 37]-=-, optimized Boolean constraint propagation based on the two-watched literal scheme, and the VSIDS splitting heuristics [28]. In fact, if MATHSAT is given a purely Boolean problem, it behaves substanti... |

314 | Boosting combinatorial search through randomization
- Gomes, Selman, et al.
- 1998
(Show Context)
Citation Context ...solver extended to implement the MATHDPLL algorithm described in Sect. 3. This solver is built upon the MINISAT solver [17], from which it inherits conflict-driven learning and back-jumping, restarts =-=[37, 8, 22]-=-, optimized boolean constraint propagation based on the two-watched literal scheme, and the VSIDS splitting heuristics [28]. In fact, if MATHSAT is given a purely Boolean problem, it behaves substanti... |

303 |
The CLP(R) language and system
- Jaffar, Michaylow, et al.
- 1992
(Show Context)
Citation Context ...ed in thisMATHSAT: TIGHT INTEGRATION OF SAT AND MATHEMATICAL DECISION PROCEDURES 291 paper (i.e., layering, stack-based interfaces, theory-deduction) are to some extent similar to those presented in =-=[24]-=-. j 9. Conclusions and Future Work In this paper we have presented a new approach to the satisfiability of linear arithmetic logic. The work is carried out within the (known) framework of integration ... |

204 |
CVC Lite: A new implementation of the cooperating validity checker
- Barrett, Berezin
- 2004
(Show Context)
Citation Context ...iables and linear constraints over numerical variables. Because of its practical relevance, LAL has attracted a lot of interest, and several decision procedures (e.g., SVC [15], ICS [23, 18], CVCLITE =-=[15, 7]-=-, UCLID [43, 35], HDPLL [31]) are able to deal with it. In this paper, we propose a new decision procedure for the satisfiability of LAL, both for the real-valued and integer-valued case. We start fro... |

204 | Using CSP look-back techniques to solve real-world SAT instances
- Bayardo, Schrag
- 1997
(Show Context)
Citation Context ...ation. As in the Boolean case, learning must be used with some care, since it may cause an explosion in the size of 8. Therefore, some techniques can be used to discard learned clauses when necessary =-=[8]-=-. Notice however the difference with standard Boolean backjumping and learning [8]: in the latter case, the conflict set272 MARCO BOZZANO ET AL. propositionally falsifies the formula, while in our ca... |

169 | An automatic method of solving discrete programming problems. Econometrica
- Land, Doig
- 1960
(Show Context)
Citation Context ... Z. When the problem is satisfiable in the reals, it is possible that it is not so in the integers. The first step carried out by MATHSOLVE in this case is a simple form of branch-and-cut (see, e.g., =-=[26]-=-), that searches for solutions over the integers by tightening the constraints. The algorithm acts on the representation of the solution space constructed over the integers, and makes use of the incre... |

125 | E – A Brainiac Theorem Prover
- Schulz
(Show Context)
Citation Context ...rch. MATHSOLVE The implementation of MATHSOLVE is composed of several software modules. The equational reasoner is implemented in C/C++, and reuses some of the data structures of the theorem prover E =-=[33]-=- to store and process terms and atoms. The module for handling difference constraints is developed in C++. The simplex algorithm for linear arithmetic over the reals is based on the Cassowary system [... |

125 | The quest for efficient boolean satisfiability solvers
- Zhang, Malik
- 2002
(Show Context)
Citation Context ...vious section is over-simplified for explanatory purposes. It can be easily adapted to deal with advanced SAT solving techniques such as splitting heuristics, two-literals watching, and restarts (see =-=[44]-=- for an overview). This section describes several enhancements that have been made to the interplay between the boolean and mathematical solvers. 4.1. THEORY-DRIVEN BACKJUMPING AND LEARNING When MATHS... |

116 | DPLL(T) fast decision procedures
- Ganzinger, Hagen, et al.
- 2004
(Show Context)
Citation Context ...ocedure for the satisfiability of LAL, both for the real-valued and for the integer-valued case. We start from a wellknown approach, previously applied in MATHSAT [3, 27] and in several other systems =-=[2, 7, 15, 18, 20, 23, 42]-=-: a propositional SAT procedure, modified to enumerate propositional assignments for the propositional abstraction of the problem, is integrated with dedicated theory deciders, used to check consisten... |

106 | Backtracking algorithms for disjunctions of temporal constraints
- Stergiou, Koubarakis
(Show Context)
Citation Context ...he SEP suite [34] is a set of benchmarks for separation logic (i.e., difference logic) derived from symbolic simulation of several hardware designs, which is maintained by O. Strichman. The DTP suite =-=[38, 1]-=- is a set of benchmarks from the field of temporal reasoning. The set of benchmarks is similar in spirit to the standard random k-CNF SAT benchmark, and consists of randomly-generated 2-CNF difference... |

84 | The cassowary linear arithmetic constraint solving algorithm
- Badros, Borning, et al.
(Show Context)
Citation Context ...] to store and process terms and atoms. The module for handling difference constraints is developed in C++. The simplex algorithm for linear arithmetic over the reals is based on the Cassowary system =-=[5]-=-. The branch-and-cut procedure is implemented on top of it, and uses the incrementality features of Cassowary to perform the search. For the Fourier-Motzkin elimination, MATHSOLVE uses the Omega syste... |

78 | A SAT based approach for solving formulas over Boolean and linear mathematical propositions
- Audemard, Bertoli, et al.
- 2002
(Show Context)
Citation Context ... In this paper, we propose a new decision procedure for the satisfiability of LAL, both for the real-valued and integer-valued case. We start from a well known approach, previously applied in MATHSAT =-=[27, 3]-=- and in several other systems [23, 18, 15, 7, 42, 2, 20]: a propositional SAT procedure, modified to enumerate propositional assignments for the propositional abstraction of the problem, is integrated... |

64 | Solving Linear Arithmetic Constraints for User Interface Applications
- Borning, Marriott, et al.
- 1997
(Show Context)
Citation Context ...ty of the subassignment of µ consisting of all constraints except the disequalities by means of the simplex method. MATHSOLVE uses a variant of the simplex method, namely the Cassowary algorithm (see =-=[10]-=-), that uses slack variables to efficiently allow the addition and removal of constraints and the generation of a minimal conflict set. When this also turns out to be consistent, disequalities are tak... |

62 |
N.: ICS: Integrated canonizer and solver
- Filliatre, Owre, et al.
(Show Context)
Citation Context ... propositional variables and linear constraints over numerical variables. Because of its practical relevance, LAL has attracted a lot of interest, and several decision procedures (e.g., SVC [15], ICS =-=[18, 23]-=-, CVCLITE [7, 15], UCLID [35, 43], HDPLL [31]) are able to deal with it. In this paper, we propose a new decision procedure for the satisfiability of LAL, both for the real-valued and for the integer-... |

60 | Theorem proving using lazy proof explication
- Flanagan, Joshi, et al.
(Show Context)
Citation Context ...thmetic logic (in the case of UCLID the subset of arithmetic of counters). A comparison on the benchmarks dealing with the theory of EUF is part of our future work. Other relevant systems are Verifun =-=[19]-=-, a tool using lazy-theorem proving based on SAT-solving, suporting domain-specific procedures for the theories of EUF, linear arithmetic and the theory of arrays, and the tool ZAPATO [6], a tool for ... |

53 | SAT-based procedures for temporal reasoning
- Armando, Castellini, et al.
- 1999
(Show Context)
Citation Context ...he SEP suite [34] is a set of benchmarks for separation logic (i.e., difference logic) derived from symbolic simulation of several hardware designs, which is maintained by O. Strichman. The DTP suite =-=[38, 1]-=- is a set of benchmarks from the field of temporal reasoning. The set of benchmarks is similar in spirit to the standard random k-CNF SAT benchmark, and consists of randomly-generated 2-CNF difference... |

47 |
L.: Zapato: Automatic Theorem Proving for Predicate Abstraction Refinement
- Ball, Cook, et al.
- 2004
(Show Context)
Citation Context ...re Verifun [19], a tool using lazy-theorem proving based on SAT-solving, supporting domain-specific procedures for the theories of EUF, linear arithmetic and the theory of arrays, and the tool ZAPATO =-=[6]-=-, a tool for counterexample-driven abstraction refinement whose overall architecture is similar to Verifun. The DPLL(T) [20] tool is a decision procedure for the theory of EUF. Similarly to MATHSAT, D... |

46 | Negative-cycle detection algorithms
- Cherkassky, Goldberg
- 1996
(Show Context)
Citation Context ...ariables and whose edges correspond to the constraints. MATHSOLVE uses an incremental version of the Bellman-Ford algorithm to search for a negative-cycle and hence for a conflict. See, for instance, =-=[13]-=-, for background information. In many practical cases, for instance in bounded model checking problems of timed automata, a sizable amount or even all of µ is in the difference logic fragment. This ca... |

46 | A hybrid SAT-based decision procedure for separation logic with uninterpreted functions
- Seshia, Lahiri, et al.
- 2003
(Show Context)
Citation Context ...ar constraints over numerical variables. Because of its practical relevance, LAL has attracted a lot of interest, and several decision procedures (e.g., SVC [15], ICS [23, 18], CVCLITE [15, 7], UCLID =-=[43, 35]-=-, HDPLL [31]) are able to deal with it. In this paper, we propose a new decision procedure for the satisfiability of LAL, both for the real-valued and integer-valued case. We start from a well known a... |

46 | Deciding separation formulas with SAT
- Strichman, Seshia, et al.
- 2002
(Show Context)
Citation Context ...0.01 0.1 1 10 100 1000 1000 100 10 1 0.1 0.01 0.01 0.1 1 10 100 1000 TSAT++ DLSAT Figure 8. Execution time ratio: the X and Y axes report MATHSAT and each competitor’s times respectively. parison SEP =-=[34, 40]-=-, a decision procedure based on an eager encoding in propositional logic, since it is known to be outperformed by TSAT++ [2]. In Fig. 8 we report the results of the comparison between MATHSAT and TSAT... |

41 | RTL-datapath verification using integer linear programming
- Brinkmann, Drechsler
- 2002
(Show Context)
Citation Context ...onstraints over integer variables; circuits described at the Register Transfer Level, even though expressible via booleanization, might be easier to analyze at a higher level of abstraction (see e.g. =-=[12]-=-). The verification problems arising in such domains can often be modeled as satisfiability in Linear Arithmetic Logic (LAL), i.e., the boolean combination of propositional variables and linear constr... |

34 |
A SAT-based decision procedure for the Boolean combination of difference constraints
- Armando, Castellini, et al.
- 2004
(Show Context)
Citation Context ...sion procedure for the satisfiability of LAL, both for the real-valued and integer-valued case. We start from a well known approach, previously applied in MATHSAT [27, 3] and in several other systems =-=[23, 18, 15, 7, 42, 2, 20]-=-: a propositional SAT procedure, modified to enumerate propositional assignments for the propositional abstraction of the problem, is integrated with dedicated theory deciders, used to check consisten... |

29 |
An Extensible SAT-solver. In Theory and Applications of Satisfiability Testing, volume 2919
- Eén, Sörensson
- 2006
(Show Context)
Citation Context ...math-formula produced by the preprocessor is given to the boolean satisfiability solver extended to implement the MATHDPLL algorithm described in Sect. 3. This solver is built upon the MINISAT solver =-=[17]-=-, from which it inherits conflict-driven learning and back-jumping, restarts [37, 8, 22], optimized boolean constraint propagation based on the two-watched literal scheme, and the VSIDS splitting heur... |

29 |
An incremental and layered procedure for the satisfiability of linear arithmetic logic
- Bozzano, Bruttomesso, et al.
- 2005
(Show Context)
Citation Context ...related work; and in Section 9 we draw some conclusions and outline the directions for future work. This paper updates and extends the content and results presented in a much shorter conference paper =-=[11]-=-.268 MARCO BOZZANO ET AL. 2. Background: Linear Arithmetic Logic Let B : f?; > g be the domain of Boolean values. Let R and Z be the domains of real and integer numbers, respectively, and let D deno... |

25 | On solving Presburger and linear arithmetic with SAT
- Strichman
- 2002
(Show Context)
Citation Context ...04/2005; 21:10; p.2sIn this way, MATHSAT settles in the middle ground between the “eager” approach, where mathematical facts are discovered during the search, and the “lazy approaches” approach (e.g. =-=[43, 39]-=-), where a very large number of facts may be required in order to lift mathematical reasoning to boolean reasoning. Third, we define a stack-based interface between the boolean level and the mathemati... |

23 | Congruence closure with integer offsets. In M Vardi and A Voronkov, eds, 10h Int
- Nieuwenhuis, Oliveras
- 2003
(Show Context)
Citation Context ...symbols (EUF). However, in this section we focus on the way the equational solver is used to improve the performance on LAL. The solver is based on the basic congruence closure algorithm suggested in =-=[29]-=-. We slightly extend the logic by allowing for enumerated objects and numbers, with the understanding that each object denotes a distinct domain element (i.e. an object is implicitly different from al... |

21 | Abstraction-based satisfiability solving of Presburger arithmetic
- Kroening, Ouaknine, et al.
- 2004
(Show Context)
Citation Context ...ith an efficient congruence closure module [29] that has inspired our own equational reasoner. However, our use of EUF reasoning is directed to tackling the harder problem of LAL satisfiability. ASAP =-=[25]-=- is a decision procedure for quantifier-free Presburger arithmetic (that is, the theory of LAL over non-negative integers). ASAP is implemented on top of UCLID, and would have been a natural candidate... |

18 |
Solving numerical constraints
- Bockmayr, Weispfenning
- 2001
(Show Context)
Citation Context ... disequalities, which are instead considered when checking complete search branches. In the Z domain, as the theory of linear arithmetic on Z is much harder, in theory and in practice, than that on R =-=[9]-=-, during early pruning calls MATHSOLVE looks for a solution on the reals only. 4.6. STATIC LEARNING Before starting the actual MATHDPLL search, the problem can be preprocessed by adding some basic mat... |

17 | An experimental evaluation of ground decision procedures
- Moura, Ruess
- 2004
(Show Context)
Citation Context ...ential criticism to every empirical comparison is that the choice of the test cases may bias the results. For our tests, however, we remark that we have run all the test cases used by the ICS team in =-=[16]-=-, that we have also introduced other suites with problems from other application domains, and that, except for the CIRC suite, all the suites we have used have been proposed by other authors in previo... |

15 | P.: Some Progress in Satisfiability Checking for Difference Logic
- Cotton, Asarin, et al.
(Show Context)
Citation Context ...of [36] (see also [41]). The benchmark below have been used for the comparison in Section 7.3.2 and fall into the difference logic fragment of LAL. The DLSAT suite is provided to us by the authors of =-=[14]-=- (see the paper for more detail). The suite contains two different sets of benchmark: the first set formalizes the problem of finding the optimal schedule for the job shop problem, a combinatorial opt... |

11 |
L.C.: An efficient finite-domain constraint solver for RTL circuits
- Parthasarathy, Iyer, et al.
- 2004
(Show Context)
Citation Context ...ver numerical variables. Because of its practical relevance, LAL has attracted a lot of interest, and several decision procedures (e.g., SVC [15], ICS [23, 18], CVCLITE [15, 7], UCLID [43, 35], HDPLL =-=[31]-=-) are able to deal with it. In this paper, we propose a new decision procedure for the satisfiability of LAL, both for the real-valued and integer-valued case. We start from a well known approach, pre... |

8 | SAT-Based Bounded Model Checking for Timed Systems
- Audemard, Cimatti, et al.
- 2002
(Show Context)
Citation Context ...ge. This may be due to the fact that most benchmarks derive from the encoding of verification problems, so that short clauses which can be learned easily are already part of the encodings (see, e.g., =-=[4]-=-). Moreover, in general, the effect of static learning is hindered in part by theory-driven learning. From our experiments, it turns out that in some benchmarks (e.g., DTP, and partly DLSAT and CIRC) ... |

5 |
Continuous time in a SAT-based planner
- Shin, Davis
(Show Context)
Citation Context ...er than 2 N . The resulting formula is satisfiable, but it has only one solution, where a = b = p. The TM suite is a set of benchmarks for (temporal) metric planning, provided to us by the authors of =-=[36]-=- (see also [41]). The benchmarks below have been used for the comparison in Sect. 7.3.2, and fall into the difference logic fragment of LAL. The DLSAT suite is provided to us by the authors of [14] (s... |

5 |
Boosting combinational search through randomization
- Gomes, Kautz
(Show Context)
Citation Context ...lver extended to implement the MATHDPLL algorithm described in Section 3. This solver is built upon the MINISAT solver [17], from which it inherits conflict-driven learning and back-jumping, restarts =-=[8, 22, 37]-=-, optimized Boolean constraint propagation based on the two-watched literal scheme, and the VSIDS splitting heuristics [28]. In fact, if MATHSAT is given a purely Boolean problem, it behaves substanti... |

2 |
2003, ‘Theorem Proving using Lazy Proof Explication
- Flanagan, Joshi, et al.
(Show Context)
Citation Context ...thmetic logic (in the case of UCLID the subset of arithmetic of counters). A comparison on the benchmarks dealing with the theory of EUF is part of our future work. Other relevant systems are Verifun =-=[19]-=-, a tool using lazy-theorem proving based on SAT-solving, supporting domain-specific procedures for the theories of EUF, linear arithmetic and the theory of arrays, and the tool ZAPATO [6], a tool for... |

1 |
2001, ‘Solving Numerical Constraints’. In: Handbook of Automated Reasoning
- Bockmayr, Weispfenning
(Show Context)
Citation Context ... disequalities, which are instead considered when checking complete search branches. In the Z domain, as the theory of linear arithmetic on Z is much harder, in theory and in practice, than that on R =-=[9]-=-, during early pruning calls MATHSOLVE looks for a solution on the reals only. 4.6. STATIC LEARNING Before starting the actual MATHDPLL search, the problem can be pre-processed by adding some basic ma... |

1 |
Sakallah: 1996, ‘GRASP - A new Search Algorithm for Satisfiability
- Silva, A
(Show Context)
Citation Context ...solver extended to implement the MATHDPLL algorithm described in Sect. 3. This solver is built upon the MINISAT solver [17], from which it inherits conflict-driven learning and back-jumping, restarts =-=[37, 8, 22]-=-, optimized boolean constraint propagation based on the two-watched literal scheme, and the VSIDS splitting heuristics [28]. In fact, if MATHSAT is given a purely Boolean problem, it behaves substanti... |

1 |
The quest for efficient boolean satisfiability solves
- Zhang, Malik
(Show Context)
Citation Context ...evious section is oversimplified for explanatory purposes. It can be easily adapted to deal with advanced SAT solving techniques such as splitting heuristics, two-literals watching, and restarts (see =-=[44]-=- for an overview). This section describes several enhancement that have been made to the interplay between the Boolean and mathematical solvers. 4.1. THEORY-DRIVEN BACKJUMPING AND LEARNING When MATHSO... |