Skip to main content
Log in

MathSAT: Tight Integration of SAT and Mathematical Decision Procedures

  • Published:
Journal of Automated Reasoning Aims and scope Submit manuscript

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 is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Armando, A., Castellini, C. and Giunchiglia, E.: SAT-based procedures for temporal reasoning, in Proc. European Conference on Planning, CP-99.

  2. Armando, A., Castellini, C., Giunchiglia, E. and Maratea, M.: A SAT-based decision procedure for the boolean combination of difference constraints, in Proc. Conference on Theory and Applications of Satisfiability Testing (SAT'04), 2004.

  3. Audemard, G., Bertoli, P., Cimatti, A., Kornilowicz, A. and Sebastiani, R.: A SAT based approach for solving formulas over boolean and linear mathematical propositions, in Proc. CADE'2002, Vol. 2392 of LNAI, 2002.

  4. Audemard, G., Cimatti, A., Kornilowicz, A. and Sebastiani, R.: SAT-based bounded model checking for timed systems, in Proc. FORTE'02, Vol. 2529 of LNCS, 2002.

  5. Badros, G. and Borning, A.: The Cassowary linear arithmetic constraint solving algorithm: interface and implementation. Technical Report UW-CSE-98-06-04, University of Washington, 1998.

  6. Ball, T., Cook, B., Lahiri, S. and Zhang, L.: Zapato: Automatic theorem proving for predicate abstraction refinement, in Proc. CAV'04, Vol. 3114 of LNCS, 2004, pp. 457–461.

  7. Barrett, C. and Berezin, S.: CVC Lite: A new implementation of the cooperating validity checker, in Proc. CAV'04, Vol. 3114 of LNCS, 2004, pp. 515–518.

  8. Bayardo, Jr., R. J. and Schrag, R. C.: Using CSP look-back techniques to solve real-world SAT instances, in Proc. AAAI/IAAI'97, 1997, pp. 203–208.

  9. Bockmayr, A. and Weispfenning, V.: Solving numerical constraints, in Handbook of Automated Reasoning, MIT, 2001, pp. 751–842.

  10. Borning, A., Marriott, K., Stuckey, P. and Xiao, Y.: Solving linear arithmetic constraints for user interface applications, in Proc. UIST'97, 1997, pp. 87–96.

  11. Bozzano, M., Bruttomesso, R., Cimatti, A., Junttila, T., van Rossum, P., Schulz, S. and Sebastiani, R.: An incremental and layered procedure for the satisfiability of linear arithmetic logic, in Proc. TACAS 2005, Vol. 3440 of LNCS, 2005, pp. 317–333.

  12. Brinkmann, R. and Drechsler, R.: RTL-Datapath verification using integer linear programming, in Proc. ASP-DAC 2002, 2002, pp. 741–746.

  13. Cherkassky, B. and Goldberg, A.: Negative-cycle detection algorithms, Math. Program. 85 (1999), 277–311.

    Article  MATH  MathSciNet  Google Scholar 

  14. Cotton, S., Asarin, E., Maler, O. and Niebert, P.: Some progress in satisfiability checking for difference logic, in Proc. FORMATS-FTRTFT 2004, 2004.

  15. CVC. CVC, CVCLite and SVC. http://verify.stanford.edu/{CVC, CVCL, SVC}.

  16. de Moura, L. and Ruess, H.: An experimental evaluation of ground decision procedures, in R. Alur and D. Peled (eds.), Proc. 15th Int. Conf. on Computer Aided Verification-CAV04, Vol. 3114 of LNCS. Boston, Massachusetts, 2004, pp. 162–174.

  17. Eén, N. and Sörensson, N.: An extensible SAT-solver, in Theory and Applications of Satisfiability Testing (SAT 2003), Vol. 2919 of LNCS, 2004, pp. 502–518.

  18. Filliâtre, J.-C., Owre, S., Ruess, H. and Shankar, N.: ICS: Integrated canonizer and solver, in Proc. CAV'01, Vol. 2102 of LNCS, 2001, pp. 246–249.

  19. Flanagan, C., Joshi, R., Ou, X. and Saxe, J.: Theorem proving using lazy proof explication, in Proc. CAV'03, Vol. 2725 of LNCS, 2003, pp. 355–367.

  20. Ganzinger, H., Hagen, G., Nieuwenhuis, R., Oliveras, A. and Tinelli, C.: DPLL(T): fast decision procedures, in Proc. CAV'04, Vol. 3114 of LNCS, 2004, pp. 175–188.

  21. GMP. GNU Multi Precision Library. http://www.swox.com/gmp.

  22. Gomes, C., Selman, B. and Kautz, H.: Boosting combination search through randomization, in Proc. of the Fifteenth National Conf. on Artificial Intelligence, 1998, pp. 431–437.

  23. ICS. ICS. http://www.icansolve.com.

  24. Jaffar, J., Michaylov, S., Stuckey, P.J. and Yap, R.H.C.: The CLP(R) languages and systems, ACM Trans. Program. Lang. Syst. (TOPLAS) 14(3) (1992), 339–395.

    Article  Google Scholar 

  25. Kroening, D., Ouaknine, J., Seshia, S. and Strichman, O.: Abstraction-based satisfiability solving of Presburger arithmetic, in Proc. CAV'04, Vol. 3114 of LNCS, 2004, pp. 308–320.

  26. Land, H. and Doig, A.: An automatic method for solving discrete programming problems, Econometrica 28 (1960), 497–520.

    Article  MATH  MathSciNet  Google Scholar 

  27. MATHSAT. MathSAT. http://mathsat.itc.it.

  28. Moskewicz, M. W., Madigan, C. F., Zhao, Y., Zhang, L. and Malik, S.: Chaff engineering an efficient SAT solver, in Proc. DAC'01, 2001, pp. 530–535.

  29. Nieuwenhuis, R. and Oliveras, A.: Congruence closure with integer offset, in Proc. 10th LPAR, 2003, pp. 77–89.

  30. Omega. Omega. http://www.cs.umd.edu/projects/omega.

  31. Parthasarathy, G., Iyer, M., Cheng, K.-T. and Wang, L.-C.: An efficient finite-domain constraint solver for circuits, in Proc. DAC'04, 2004, pp. 212–217.

  32. SAL. SAL Suite. http://www.csl.sri.com/users/demoura/gdp-benchmark.html.

  33. Schulz, S.: E-A Brainiac theorem prover, AI Commun. 15(2/3) (2002), 111–126.

    MATH  Google Scholar 

  34. SEP. SEP Suite, http://iew3.technion.ac.il/~ofers/smtlib-local/benchmarks.html.

  35. Seshia, S., Lahiri, S. and Bryant, R.: A hybrid SAT-based decision procedure for separation logic with uninterpreted function, in Proc. DAC'03, pp. 425–430.

  36. Shin, J.-A. and Davis, E.: Continuous time in a SAT-based planner, in Proc. AAAI-04, 2004, pp. 531–536.

  37. Silva, J. P. M. and Sakallah, K. A.: GRASP – A new search algorithm for satisfiability, in Proc. ICCAD'96, 1996, pp. 220–227.

  38. Stergiou, K. and Koubarakis, M.: Backtracking algorithms for disjunctions of temporal constraints, Artif. Intell. 120(1) (2000), 81–117.

    Article  MATH  MathSciNet  Google Scholar 

  39. Strichman, O.: On solving presburger and linear arithmetic with SAT, in Proc. of Formal Methods in Computer-Aided Design (FMCAD 2002), 2002.

  40. Strichman, O., Seshia, S., Bryant, R.: Deciding separation formulas with SAT, in Proc. of Computer Aided Verification, (CAV'02).

  41. TM. TM-LPSAT. http://csl.cs.nyu.edu/~jiae/.

  42. TSAT. TSAT++. http://www.ai.dist.unige.it/Tsat.

  43. UCLID.UCLID. http://www-2.cs.cmu.edu/~uclid.

  44. Zhang, L. and Malik, S.: The quest for efficient boolean satisfiability solves, in Proc. CAV'02, 2002, pp. 17–36.

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Marco Bozzano.

Additional information

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.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Bozzano, M., Bruttomesso, R., Cimatti, A. et al. MathSAT: Tight Integration of SAT and Mathematical Decision Procedures. J Autom Reasoning 35, 265–293 (2005). https://doi.org/10.1007/s10817-005-9004-z

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10817-005-9004-z

Key words

Navigation