The MathSAT5 SMT Solver

  • Alessandro Cimatti
  • Alberto Griggio
  • Bastiaan Joost Schaafsma
  • Roberto Sebastiani
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7795)


MathSAT is a long-term project, which has been jointly carried on by FBK-IRST and University of Trento, with the aim of developing and maintaining a state-of-the-art SMT tool for formal verification (and other applications). MathSAT5 is the latest version of the tool. It supports most of the SMT-LIB theories and their combinations, and provides many functionalities (like e.g. unsat cores, interpolation, AllSMT). MathSAT5 improves its predecessor MathSAT4 in many ways, also providing novel features: first, a much improved incrementality support, which is vital in SMT applications; second, a full support for the theories of arrays and floating point; third, sound SAT-style Boolean formula preprocessing for SMT formulae; finally, a framework allowing users for plugging their custom tuned SAT solvers. MathSAT5 is freely available, and it is used in numerous internal projects, as well as by a number of industrial partners.


Model Check Bound Model Check Variable Elimination Predicate Abstraction Theory Solver 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Albarghouthi, A., Li, Y., Gurfinkel, A., Chechik, M.: Ufo: A Framework for Abstraction- and Interpolation-Based Software Verification. In: Madhusudan, P., Seshia, S.A. (eds.) CAV 2012. LNCS, vol. 7358, pp. 672–678. Springer, Heidelberg (2012)CrossRefGoogle Scholar
  2. 2.
    Barrett, C.W., Sebastiani, R., Seshia, S.A., Tinelli, C.: Satisfiability Modulo Theories. In: Handbook of Satisfiability, ch. 26. IOS Press (2009)Google Scholar
  3. 3.
    Beyer, D., Keremoglu, M.E.: CPAchecker: A Tool for Configurable Software Verification. In: Gopalakrishnan, G., Qadeer, S. (eds.) CAV 2011. LNCS, vol. 6806, pp. 184–190. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  4. 4.
    Bozzano, M., Cimatti, A., Katoen, J.-P., Nguyen, V.Y., Noll, T., Roveri, M.: Safety, Dependability and Performance Analysis of Extended AADL Models. Comput. J. 54(5) (2011)Google Scholar
  5. 5.
    Bruttomesso, R., Cimatti, A., Franzén, A., Griggio, A., Sebastiani, R.: The MathSAT 4 SMT Solver. In: Gupta, A., Malik, S. (eds.) CAV 2008. LNCS, vol. 5123, pp. 299–303. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  6. 6.
    Bruttomesso, R., Cimatti, A., Franzén, A., Griggio, A., Sebastiani, R.: Delayed Theory Combination vs. Nelson-Oppen for Satisfiability Modulo Theories: A Comparative Analysis. Annals of Mathematics and Artificial Intelligence 55(1-2) (2009)Google Scholar
  7. 7.
    Cimatti, A., Franzén, A., Griggio, A., Sebastiani, R., Stenico, C.: Satisfiability Modulo the Theory of Costs: Foundations and Applications. In: Esparza, J., Majumdar, R. (eds.) TACAS 2010. LNCS, vol. 6015, pp. 99–113. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  8. 8.
    Cimatti, A., Griggio, A.: Software Model Checking via IC3. In: Madhusudan, P., Seshia, S.A. (eds.) CAV 2012. LNCS, vol. 7358, pp. 277–293. Springer, Heidelberg (2012)CrossRefGoogle Scholar
  9. 9.
    Cimatti, A., Griggio, A., Sebastiani, R.: Efficient Generation of Craig Interpolants in Satisfiability Modulo Theories. ACM TOCL 12(1) (2010)Google Scholar
  10. 10.
    Cimatti, A., Griggio, A., Sebastiani, R.: Computing Small Unsatisfiable Cores in SAT Modulo Theories. Journal of Artificial Intelligence Research, JAIR 40, 701–728 (2011)MathSciNetzbMATHGoogle Scholar
  11. 11.
    Cimatti, A., Micheli, A., Roveri, M.: Solving Temporal Problems Using SMT: Strong Controllability. In: Milano, M. (ed.) CP 2012. LNCS, vol. 7514, pp. 248–264. Springer, Heidelberg (2012)CrossRefGoogle Scholar
  12. 12.
    Cimatti, A., Mover, S., Tonetta, S.: SMT-based Scenario Verification for Hybrid Systems. Formal Methods in System Design (2012)Google Scholar
  13. 13.
    Cimatti, A., Narasamdya, I., Roveri, M.: Software Model Checking with Explicit Scheduler and Symbolic Threads. Logical Methods in Computer Science 8(2) (2012)Google Scholar
  14. 14.
    Cimatti, A., Narasamdya, I., Roveri, M.: Verification of Parametric System Designs. In: Proc. FMCAD. FMCAD (2012)Google Scholar
  15. 15.
    Cimatti, A., Palopoli, L., Ramadian, Y.: Symbolic Computation of Schedulability Regions Using Parametric Timed Automata. In: IEEE Real-Time Systems Symposium (2008)Google Scholar
  16. 16.
    Cimatti, A., Roveri, M., Susi, A., Tonetta, S.: Validation of Requirements for Hybrid Systems: a Formal Approach. TOSEM 21(4) (2013)Google Scholar
  17. 17.
  18. 18.
    Eén, N., Biere, A.: Effective Preprocessing in SAT Through Variable and Clause Elimination. In: Bacchus, F., Walsh, T. (eds.) SAT 2005. LNCS, vol. 3569, pp. 61–75. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  19. 19.
    Eén, N., Sörensson, N.: An Extensible SAT-solver. In: Giunchiglia, E., Tacchella, A. (eds.) SAT 2003. LNCS, vol. 2919, pp. 502–518. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  20. 20.
    Eén, N., Sörensson, N.: Temporal induction by incremental SAT solving. Electr. Notes Theor. Comput. Sci. 89(4), 543–560 (2003)CrossRefGoogle Scholar
  21. 21.
  22. 22.
    Franzén, A., Cimatti, A., Nadel, A., Sebastiani, R., Shalev, J.: Applying SMT in symbolic execution of microcode. In: FMCAD, pp. 121–128 (2010)Google Scholar
  23. 23.
    The GNU Multi Precision Arithmetic Library,
  24. 24.
    Goel, A., Krstić, S., Fuchs, A.: Deciding array formulas with frugal axiom instantiation. In: Proceedings of SMT 2008/BPR 2008, pp. 12–17. ACM, New York (2008)Google Scholar
  25. 25.
    Griggio, A.: An Effective SMT Engine for Formal Verification. PhD thesis, DISI - University of Trento (2009)Google Scholar
  26. 26.
    Griggio, A.: Effective word-level interpolation for software verification. In: FMCAD, pp. 28–36. FMCAD Inc. (2011)Google Scholar
  27. 27.
    Griggio, A., Le, T.T.H., Sebastiani, R.: Efficient interpolant generation in satisfiability modulo linear integer arithmetic. Logical Methods in Computer Science 8(3) (2012)Google Scholar
  28. 28.
    Lahiri, S.K., Nieuwenhuis, R., Oliveras, A.: SMT Techniques for Fast Predicate Abstraction. In: Ball, T., Jones, R.B. (eds.) CAV 2006. LNCS, vol. 4144, pp. 424–437. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  29. 29.
  30. 30.
    Nadel, A., Ryvchin, V., Strichman, O.: Preprocessing in Incremental SAT. In: Cimatti, A., Sebastiani, R. (eds.) SAT 2012. LNCS, vol. 7317, pp. 256–269. Springer, Heidelberg (2012)CrossRefGoogle Scholar
  31. 31.
  32. 32.
    Sebastiani, R., Tomasi, S.: Optimization in SMT with \({\mathcal LA}\)(ℚ) Cost Functions. In: Gramlich, B., Miller, D., Sattler, U. (eds.) IJCAR 2012. LNCS (LNAI), vol. 7364, pp. 484–498. Springer, Heidelberg (2012)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  • Alessandro Cimatti
    • 1
  • Alberto Griggio
    • 1
  • Bastiaan Joost Schaafsma
    • 1
    • 2
  • Roberto Sebastiani
    • 2
  1. 1.FBK-IRSTTrentoItaly
  2. 2.DISIUniversity of TrentoItaly

Personalised recommendations