Advertisement

FoCaLiZe and Dedukti to the Rescue for Proof Interoperability

  • Raphaël CauderlierEmail author
  • Catherine Dubois
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10499)

Abstract

Numerous contributions have been made for some years to allow users to exchange formal proofs between different provers. The main propositions consist in ad hoc pointwise translations, e.g. between HOL Light and Isabelle in the Flyspeck project or uses of more or less complete certificates. We propose in this paper a methodology to combine proofs coming from different theorem provers. This methodology relies on the Dedukti logical framework as a common formalism in which proofs can be translated and combined. To relate the independently developed mathematical libraries used in proof assistants, we rely on the structuring features offered by FoCaLiZe, in particular parameterized modules and inheritance to build a formal library of transfer theorems called MathTransfer. We finally illustrate this methodology on the Sieve of Eratosthenes, which we prove correct using HOL and Coq in combination.

References

  1. 1.
    Armand, M., Faure, G., Grégoire, B., Keller, C., Théry, L., Werner, B.: A modular integration of SAT/SMT solvers to Coq through proof witnesses. In: Jouannaud, J.-P., Shao, Z. (eds.) CPP 2011. LNCS, vol. 7086, pp. 135–150. Springer, Heidelberg (2011). doi: 10.1007/978-3-642-25379-9_12 CrossRefGoogle Scholar
  2. 2.
    Assaf, A.: A framework for defining computational higher-order logics. Ph.D. thesis, École Polytechnique (2015)Google Scholar
  3. 3.
    Assaf, A., Burel, G.: Translating HOL to Dedukti. In: Kaliszyk, C., Paskevich, A. (eds.) Proceedings Fourth Workshop on Proof eXchange for Theorem Proving, EPTCS, Berlin, Germany, 2–3 August 2015, vol. 186, pp. 74–88 (2015)Google Scholar
  4. 4.
    Assaf, A., Burel, G., Cauderlier, R., Delahaye, D., Dowek, G., Dubois, C., Gilbert, F., Halmagrand, P., Hermant, O., Saillard, R.: Expressing theories in the \(\lambda \Pi \)-calculus modulo theory and in the Dedukti system (2016). http://www.lsv.ens-cachan.fr/dowek/Publi/expressing.pdf
  5. 5.
    Assaf, A., Cauderlier, R.: Mixing HOL and Coq in Dedukti. In: Kaliszyk, C., Paskevich, A. (eds.) 4th Workshop on Proof eXchange for Theorem Proving, EPTCS, Berlin, Germany, 2–3 August 2015, vol. 186, pp. 89–96 (2015)Google Scholar
  6. 6.
    Blanchette, J.C., Bulwahn, L., Nipkow, T.: Automatic proof and disproof in Isabelle/HOL. In: Tinelli, C., Sofronie-Stokkermans, V. (eds.) FroCoS 2011. LNCS (LNAI), vol. 6989, pp. 12–27. Springer, Heidelberg (2011). doi: 10.1007/978-3-642-24364-6_2 CrossRefGoogle Scholar
  7. 7.
    Burel, G.: Experimenting with deduction modulo. In: Bjørner, N., Sofronie-Stokkermans, V. (eds.) CADE 2011. LNCS (LNAI), vol. 6803, pp. 162–176. Springer, Heidelberg (2011). doi: 10.1007/978-3-642-22438-6_14 CrossRefGoogle Scholar
  8. 8.
    Bury, G., Delahaye, D., Doligez, D., Halmagrand, P., Hermant, O.: Automated deduction in the B set theory using typed proof search and deduction modulo. In: LPAR 20 : 20th International Conference on Logic for Programming, Artificial Intelligence and Reasoning, Suva, Fiji, November 2015Google Scholar
  9. 9.
    Cauderlier, R.: A rewrite system for proof constructivization. In: Proceedings of the 2016 International Workshop on Logical Frameworks and Meta-languages: Theory and Practice, pp. 2:1–2:7. ACM (2016)Google Scholar
  10. 10.
    Cauderlier, R., Dubois, C.: ML pattern-matching, recursion, and rewriting: from FoCaLiZe to Dedukti. In: Sampaio, A., Wang, F. (eds.) ICTAC 2016. LNCS, vol. 9965, pp. 459–468. Springer, Cham (2016). doi: 10.1007/978-3-319-46750-4_26 CrossRefGoogle Scholar
  11. 11.
    Cauderlier, R., Halmagrand, P.: Checking Zenon modulo proofs in Dedukti. In: Kaliszyk, C., Paskevich, A. (eds.) Proceedings 4th Workshop on Proof eXchange for Theorem Proving, EPTCS, Berlin, Germany, 2–3 August 2015, vol. 186, pp. 57–73 (2015)Google Scholar
  12. 12.
    Denney, E.: A prototype proof translator from HOL to Coq. In: Aagaard, M., Harrison, J. (eds.) TPHOLs 2000. LNCS, vol. 1869, pp. 108–125. Springer, Heidelberg (2000). doi: 10.1007/3-540-44659-1_8 CrossRefGoogle Scholar
  13. 13.
    Gauthier, T., Kaliszyk, C.: Matching concepts across HOL libraries. In: Watt, S.M., Davenport, J.H., Sexton, A.P., Sojka, P., Urban, J. (eds.) CICM 2014. LNCS (LNAI), vol. 8543, pp. 267–281. Springer, Cham (2014). doi: 10.1007/978-3-319-08434-3_20 CrossRefGoogle Scholar
  14. 14.
    Horozal, F., Rabe, F.: Representing model theory in a type-theoretical logical framework. Theor. Comput. Sci. 412, 4919–4945 (2011)MathSciNetCrossRefzbMATHGoogle Scholar
  15. 15.
    Howe, D.J.: Importing mathematics from HOL into Nuprl. In: Goos, G., Hartmanis, J., Leeuwen, J., Wright, J., Grundy, J., Harrison, J. (eds.) TPHOLs 1996. LNCS, vol. 1125, pp. 267–281. Springer, Heidelberg (1996). doi: 10.1007/BFb0105410 CrossRefGoogle Scholar
  16. 16.
    Huffman, B., Kunčar, O.: Lifting and transfer: a modular design for quotients in Isabelle/HOL. In: Gonthier, G., Norrish, M. (eds.) CPP 2013. LNCS, vol. 8307, pp. 131–146. Springer, Cham (2013). doi: 10.1007/978-3-319-03545-1_9 CrossRefGoogle Scholar
  17. 17.
    Hurd, J.: The opentheory standard theory library. In: Bobaru, M., Havelund, K., Holzmann, G.J., Joshi, R. (eds.) NFM 2011. LNCS, vol. 6617, pp. 177–191. Springer, Heidelberg (2011). doi: 10.1007/978-3-642-20398-5_14 CrossRefGoogle Scholar
  18. 18.
    Kaliszyk, C., Krauss, A.: Scalable LCF-style proof translation. In: Blazy, S., Paulin-Mohring, C., Pichardie, D. (eds.) Interactive Theorem Proving. number 7998 in LNCS, pp. 51–66. Springer, Heidelberg (2013)CrossRefGoogle Scholar
  19. 19.
    Keller, C., Werner, B.: Importing HOL light into Coq. In: Kaufmann, M., Paulson, L.C. (eds.) ITP 2010. LNCS, vol. 6172, pp. 307–322. Springer, Heidelberg (2010). doi: 10.1007/978-3-642-14052-5_22 CrossRefGoogle Scholar
  20. 20.
    Miller, D., Certificates, F.P.: Making proof universal and permanent. In: Momigliano, A., Pientka, B., Pollack, R. (eds.) Proceedings of the Eighth ACM SIGPLAN International Workshop on Logical Frameworks & Meta-languages: Theory & Practice, LFMTP 2013, Boston, Massachusetts, USA, 23 September 2013, pp. 1–2. ACM (2013)Google Scholar
  21. 21.
    Pessaux, F.: FoCaLiZe: inside an F-IDE. In: Dubois, C., Giannakopoulou, D., Méry, D. (eds.) Proceedings 1st Workshop on Formal Integrated Development Environment, F-IDE 2014, EPTCS, Grenoble, France, 6 April 6 2014, vol. 149, pp. 64–78 (2014)Google Scholar
  22. 22.
    Prevosto, V., Jaume, M.: Making proofs in a hierarchy of mathematical structures. In: Proceedings of Calculemus, September 2003Google Scholar
  23. 23.
    Saillard, R.: Type checking in the Lambda-Pi-Calculus modulo: theory and practice. Ph.D. thesis, MINES Paritech (2015)Google Scholar
  24. 24.
    Schürmann, C., Stehr, M.-O.: An executable formalization of the HOL/Nuprl connection in the metalogical framework twelf. In: Hermann, M., Voronkov, A. (eds.) LPAR 2006. LNCS, vol. 4246, pp. 150–166. Springer, Heidelberg (2006). doi: 10.1007/11916277_11 CrossRefGoogle Scholar
  25. 25.
    Wiedijk, F.: Encoding the HOL light logic in Coq (2007, unpublished notes)Google Scholar
  26. 26.
    Zimmermann, T., Herbelin, H.: Automatic and transparent transfer of theorems along isomorphisms in the coq proof assistant. CoRR, abs/1505.05028 (2015)Google Scholar

Copyright information

© Springer International Publishing AG 2017

Authors and Affiliations

  1. 1.University Paris Diderot, IrifParisFrance
  2. 2.ENSIIE, SamovarÉvryFrance

Personalised recommendations