A Modular Integration of SAT/SMT Solvers to Coq through Proof Witnesses

  • Michael Armand
  • Germain Faure
  • Benjamin Grégoire
  • Chantal Keller
  • Laurent Théry
  • Benjamin Werner
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7086)

Abstract

We present a way to enjoy the power of SAT and SMT provers in Coq without compromising soundness. This requires these provers to return not only a yes/no answer, but also a proof witness that can be independently rechecked. We present such a checker, written and fully certified in Coq. It is conceived in a modular way, in order to tame the proofs’ complexity and to be extendable. It can currently check witnesses from the SAT solver ZChaff and from the SMT solver veriT. Experiments highlight the efficiency of this checker. On top of it, new reflexive Coq tactics have been built that can decide a subset of Coq’s logic by calling external provers and carefully checking their answers.

Keywords

Conjunctive Normal Form Conjunctive Normal Form Formula Empty Clause Linear Arithmetic Modular Integration 
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.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
  2. 2.
  3. 3.
    Armand, M., Grégoire, B., Spiwack, A., Théry, L.: Extending Coq with Imperative Features and Its Application to SAT Verification. In: Kaufmann and Paulson [9], pp. 83–98Google Scholar
  4. 4.
    Barendregt, H., Barendsen, E.: Autarkic Computations in Formal Proofs. J. Autom. Reasoning 28(3), 321–336 (2002)MathSciNetCrossRefMATHGoogle Scholar
  5. 5.
    Besson, F.: Fast Reflexive Arithmetic Tactics the Linear Case and Beyond. In: Altenkirch, T., McBride, C. (eds.) TYPES 2006. LNCS, vol. 4502, pp. 48–62. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  6. 6.
    Böhme, S., Weber, T.: Fast LCF-Style Proof Reconstruction for Z3. In: Kaufmann and Paulson [9], pp. 179–194Google Scholar
  7. 7.
    Dénès, M.: Coq with native compilation, https://github.com/maximedenes/native-coq
  8. 8.
    Fontaine, P., Marion, J.-Y., Merz, S., Nieto, L.P., Tiu, A.F.: Expressiveness + Automation + Soundness: Towards Combining SMT Solvers and Interactive Proof Assistants. In: Hermanns, H. (ed.) TACAS 2006. LNCS, vol. 3920, pp. 167–181. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  9. 9.
    Kaufmann, M., Paulson, L.C. (eds.): ITP 2010. LNCS, vol. 6172. Springer, Heidelberg (2010)Google Scholar
  10. 10.
    Lescuyer, S., Conchon, S.: Improving Coq Propositional Reasoning Using a Lazy CNF Conversion Scheme. In: Ghilardi, S., Sebastiani, R. (eds.) FroCoS 2009. LNCS, vol. 5749, pp. 287–303. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  11. 11.
    McLaughlin, S., Barrett, C., Ge, Y.: Cooperating Theorem Provers: A Case Study Combining HOL-Light and CVC Lite. ENTCS 144(2), 43–51 (2006)MATHGoogle Scholar
  12. 12.
    Nieuwenhuis, R., Oliveras, A., Tinelli, C.: Solving SAT and SAT Modulo Theories: From an abstract Davis–Putnam–Logemann–Loveland procedure to DPLL. J. ACM 53(6), 937–977 (2006)MathSciNetCrossRefMATHGoogle Scholar
  13. 13.
    Oe, D., Stump, A.: Extended Abstract: Combining a Logical Framework with an RUP Checker for SMT Proofs. In: Lahiri, S., Seshia, S. (eds.) Proceedings of the 9th International Workshop on Satisfiability Modulo Theories, Snowbird, USA (2011)Google Scholar
  14. 14.
    Tseitin, G.S.: On the complexity of proofs in propositional logics. Automation of Reasoning: Classical Papers in Computational Logic (1967-1970) 2 (1983)Google Scholar
  15. 15.
    Weber, T.: SAT-based Finite Model Generation for Higher-Order Logic. Ph.D. thesis, Institut für Informatik, Technische Universität München, Germany (April 2008), http://www.cl.cam.ac.uk/~tw333/publications/weber08satbased.html

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • Michael Armand
    • 1
  • Germain Faure
    • 2
  • Benjamin Grégoire
    • 1
  • Chantal Keller
    • 2
  • Laurent Théry
    • 1
  • Benjamin Werner
    • 2
  1. 1.INRIASophia-AntipolisFrance
  2. 2.INRIA - Saclay–Île-de-France at LIXÉcole PolytechniqueFrance

Personalised recommendations