Fast LCF-Style Proof Reconstruction for Z3

  • Sascha Böhme
  • Tjark Weber
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6172)


The Satisfiability Modulo Theories (SMT) solver Z3 can generate proofs of unsatisfiability. We present independent reconstruction of these proofs in the theorem provers Isabelle/HOL and HOL4 with particular focus on efficiency. Our highly optimized implementations outperform previous LCF-style proof checkers for SMT, often by orders of magnitude. Detailed performance data shows that LCF-style proof reconstruction can be faster than proof search in Z3.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Nipkow, T., Paulson, L.C., Wenzel, M.: Isabelle/HOL. LNCS, vol. 2283. Springer, Heidelberg (2002)zbMATHGoogle Scholar
  2. 2.
    Gordon, M.J.C., Pitts, A.M.: The HOL logic and system. In: Towards Verified Systems. Real-Time Safety Critical Systems Series, vol. 2, pp. 49–70. Elsevier, Amsterdam (1994)Google Scholar
  3. 3.
    Kroening, D., Strichman, O.: Decision Procedures – An Algorithmic Point of View. Springer, Heidelberg (2008)zbMATHGoogle Scholar
  4. 4.
    Collavizza, H., Gordon, M.: Integration of theorem-proving and constraint programming for software verification. Technical report, Laboratoire d’Informatique, Signaux et Systèmes de Sophia-Antipolis (2008)Google Scholar
  5. 5.
    Böhme, S., Moskal, M., Schulte, W., Wolff, B.: HOL-Boogie — An Interactive Prover-Backend for the Verifying C Compiler. J. Automated Reasoning 44(1-2), 111–144 (2010)zbMATHCrossRefGoogle Scholar
  6. 6.
    Brummayer, R., Biere, A.: Fuzzing and delta-debugging SMT solvers. In: 7th International Workshop on Satisfiability Modulo Theories, SMT ’09 (2009)Google Scholar
  7. 7.
    de Moura, L.M., Bjørner, N.: Z3: An efficient SMT solver. In: Ramakrishnan, C.R., Rehof, J. (eds.) TACAS 2008. LNCS, vol. 4963, pp. 337–340. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  8. 8.
    Gordon, M., Milner, R., Wadsworth, C.P.: Edinburgh LCF. LNCS, vol. 78. Springer, Heidelberg (1979)Google Scholar
  9. 9.
    de Moura, L.M., Bjørner, N.: Proofs and refutations, and Z3. In: Proceedings of the LPAR 2008 Workshops, Knowledge Exchange: Automated Provers and Proof Assistants, and the 7th International Workshop on the Implementation of Logics, CEUR Workshop Proceedings. vol. 418, (2008)Google Scholar
  10. 10.
    Ranise, S., Tinelli, C.: The SMT-LIB standard: Version 1.2 (August 2006), (retrieved January 21, 2010)
  11. 11.
    McLaughlin, S., Barrett, C., Ge, Y.: Cooperating theorem provers: A case study combining HOL-Light and CVC Lite. Electronic Notes in Theoretical Computer Science 144(2), 43–51 (2006)CrossRefGoogle Scholar
  12. 12.
    Ge, Y., Barrett, C.: Proof translation and SMT-LIB benchmark certification: A preliminary report. In: 6th International Workshop on Satisfiability Modulo Theories, SMT ’08 (2008)Google Scholar
  13. 13.
    Fontaine, P., Marion, J.Y., Merz, S., Nieto, L.P., Tiu, A.: Expressiveness + automation + soundness: Towards combining SMT solvers and interactive proof assistants. In: Hermanns, H., Palsberg, J. (eds.) TACAS 2006. LNCS, vol. 3920, pp. 167–181. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  14. 14.
    Hurlin, C., Chaieb, A., Fontaine, P., Merz, S., Weber, T.: Practical proof reconstruction for first-order logic and set-theoretical constructions. In: Proceedings of the Isabelle Workshop 2007, Bremen, Germany, July 2007, pp. 2–13 (2007)Google Scholar
  15. 15.
    Böhme, S.: Proof reconstruction for Z3 in Isabelle/HOL. In: 7th International Workshop on Satisfiability Modulo Theories, SMT ’09 (2009)Google Scholar
  16. 16.
    Weber, T., Amjad, H.: Efficiently checking propositional refutations in HOL theorem provers. J. Applied Logic 7(1), 26–40 (2009)zbMATHCrossRefMathSciNetGoogle Scholar
  17. 17.
    Hurd, J.: First-order proof tactics in higher-order logic theorem provers. In: Design and Application of Strategies/Tactics in Higher Order Logics (STRATA ’03), pp. 56–68 (2003); Number NASA/CP-2003-212448 in NASA Technical ReportsGoogle Scholar
  18. 18.
    Hurd, J.: Metis performance benchmarks, (retrieved January 21, 2010)
  19. 19.
    HOL88 contributors: HOL88 source code, (retrieved January 21, 2010)
  20. 20.
    Barrett, C., Deters, M., Oliveras, A., Stump, A.: 5th Annual Satisfiability Modulo Theories Competition. In: SMT-COMP ’09 (2009),
  21. 21.
    Norrish, M.: Complete integer decision procedures as derived rules in HOL. In: Basin, D., Wolff, B. (eds.) TPHOLs 2003. LNCS, vol. 2758, pp. 71–86. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  22. 22.
    Dutertre, B., de Moura, L.M.: A fast linear-arithmetic solver for DPLL(T). In: Ball, T., Jones, R.B. (eds.) CAV 2006. LNCS, vol. 4144, pp. 81–94. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  23. 23.
    Wenzel, M.: Parallel proof checking in Isabelle/Isar. In: ACM SIGSAM 2009 International Workshop on Programming Languages for Mechanized Mathematics Systems (2009)Google Scholar
  24. 24.
    Amjad, H.: Data compression for proof replay. J. Automated Reasoning 41(3-4), 193–218 (2008)zbMATHCrossRefMathSciNetGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2010

Authors and Affiliations

  • Sascha Böhme
    • 1
  • Tjark Weber
    • 2
  1. 1.Technische Universität München 
  2. 2.University of Cambridge 

Personalised recommendations