Translating Between Implicit and Explicit Versions of Proof

Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10395)

Abstract

The Foundational Proof Certificate (FPC) framework can be used to define the semantics of a wide range of proof evidence. For example, such definitions exist for a number of textbook proof systems as well as for the proof evidence output from some existing theorem proving systems. An important decision in designing a proof certificate format is the choice of how many details are to be placed within certificates. Formats with fewer details are smaller and easier for theorem provers to output but they require more sophistication from checkers since checking will involve some proof reconstruction. Conversely, certificate formats containing many details are larger but are checkable by less sophisticated checkers. Since the FPC framework is based on well-established proof theory principles, proof certificates can be manipulated in meaningful ways. In this paper, we illustrate how it is possible to automate moving from implicit to explicit (elaboration) and from explicit to implicit (distillation) proof evidence via the proof checking of a pair of proof certificates. Performing elaboration makes it possible to transform a proof certificate with details missing into a certificate packed with enough details so that a simple kernel (without support for proof reconstruction) can check the elaborated certificate. We illustrate how trust in only a single, simple checker of explicitly described proofs can be used to provide trust in a range of theorem provers employing a range of proof structures.

References

  1. 1.
    Andreoli, J.-M.: Logic programming with focusing proofs in linear logic. J. Logic Comput. 2(3), 297–347 (1992)MathSciNetCrossRefMATHGoogle Scholar
  2. 2.
    Andrews, P.B.: Refutations by matings. IEEE Trans. Comput. 25(8), 801–807 (1976)MathSciNetCrossRefMATHGoogle Scholar
  3. 3.
    Andrews, P.B.: Theorem proving via general matings. J. ACM 28(2), 193–214 (1981)MathSciNetCrossRefMATHGoogle Scholar
  4. 4.
    Assaf, A., Burel, G.: Translating HOL to Dedukti. In: Kaliszyk, C., Paskevich, A. (eds.) Proceedings Fourth Workshop on Proof eXchange for Theorem Proving, PxTP 2015. EPTCS, vol. 186, Berlin, Germany, pp. 74–88, 2–3 August 2015Google Scholar
  5. 5.
    Baelde, D.: Least and greatest fixed points in linear logic. ACM Trans. Comput. Logic 13(1), 2:1–2:44 (2012)MathSciNetCrossRefMATHGoogle Scholar
  6. 6.
    Baelde, D., Miller, D.: Least and greatest fixed points in linear logic. In: Dershowitz, N., Voronkov, A. (eds.) LPAR 2007. LNCS, vol. 4790, pp. 92–106. Springer, Heidelberg (2007). doi:10.1007/978-3-540-75560-9_9 CrossRefGoogle Scholar
  7. 7.
    Barendregt, H., Barendsen, E.: Autarkic computations in formal proofs. J. Autom. Reasoning 28(3), 321–336 (2002)MathSciNetCrossRefMATHGoogle Scholar
  8. 8.
    Blanco, R., Miller, D.: Proof outlines as proof certificates: a system description. In: Cervesato, I., Schürmann, C. (eds.) Proceedings of the First International Workshop on Focusing. Electronic Proceedings in Theoretical Computer Science, vol. 197, pp. 7–14. Open Publishing Association, November 2015Google Scholar
  9. 9.
    Boespflug, M., Carbonneaux, Q., Hermant, O.: The \(\lambda {\Pi }\)-calculus modulo as a universal proof language. In: Pichardie, D., Weber, T. (eds.) Proceedings of PxTP 2012: Proof Exchange for Theorem Proving, pp. 28–43 (2012)Google Scholar
  10. 10.
    Borras, P., Clément, D., Despeyroux, T., Incerpi, J., Kahn, G., Lang, B., Pascual, V.: Centaur: the system. In: Third Annual Symposium on Software Development Environments (SDE3), Boston, pp. 14–24 (1988)Google Scholar
  11. 11.
    Boutin, S.: Using reflection to build efficient and certified decision procedures. In: Abadi, M., Ito, T. (eds.) TACS 1997. LNCS, vol. 1281, pp. 515–529. Springer, Heidelberg (1997). doi:10.1007/BFb0014565 CrossRefGoogle Scholar
  12. 12.
    Chaudhuri, K., Hetzl, S., Miller, D.: A multi-focused proof system isomorphic to expansion proofs. J. Logic Comput. 26(2), 577–603 (2016)MathSciNetCrossRefMATHGoogle Scholar
  13. 13.
    Chihani, Z.: Certification of First-order proofs in classical and intuitionistic logics. Ph.D. thesis, Ecole Polytechnique, August 2015Google Scholar
  14. 14.
    Chihani, Z., Libal, T., Reis, G.: The proof certifier Checkers. In: Nivelle, H. (ed.) TABLEAUX 2015. LNCS, vol. 9323, pp. 201–210. Springer, Cham (2015). doi:10.1007/978-3-319-24312-2_14 CrossRefGoogle Scholar
  15. 15.
    Chihani, Z., Miller, D.: Proof certificates for equality reasoning. In: Benevides, M., Thiemann, R. (eds.) Post-proceedings of LSFA 2015: 10th Workshop on Logical and Semantic Frameworks, with Applications. ENTCS, vol. 323, Natal, Brazil (2016)Google Scholar
  16. 16.
    Chihani, Z., Miller, D., Renaud, F.: Foundational proof certificates in first-order logic. In: Bonacina, M.P. (ed.) CADE 2013. LNCS, vol. 7898, pp. 162–177. Springer, Heidelberg (2013). doi:10.1007/978-3-642-38574-2_11 CrossRefGoogle Scholar
  17. 17.
    Chihani, Z., Miller, D., Renaud, F.: A semantic framework for proof evidence. J. Autom. Reasoning. doi:10.1007/s10817-016-9380-6
  18. 18.
    Cousineau, D., Dowek, G.: Embedding pure type systems in the Lambda-Pi-Calculus modulo. In: Rocca, S.R. (ed.) TLCA 2007. LNCS, vol. 4583, pp. 102–117. Springer, Heidelberg (2007). doi:10.1007/978-3-540-73228-0_9 CrossRefGoogle Scholar
  19. 19.
    Davis, M.: Obvious logical inferences. In: Drinan, A. (ed.) Proceedings of the 7th International Joint Conference on Artificial Intelligence (IJCAI 1981), pp. 530–531. William Kaufmann, Los Altos, August 1991Google Scholar
  20. 20.
    Dunchev, C., Guidi, F., Sacerdoti Coen, C., Tassi, E.: ELPI: fast, embeddable, \(\lambda \)Prolog interpreter. In: Davis, M., Fehnker, A., McIver, A., Voronkov, A. (eds.) LPAR 2015. LNCS, vol. 9450, pp. 460–468. Springer, Heidelberg (2015). doi:10.1007/978-3-662-48899-7_32 CrossRefGoogle Scholar
  21. 21.
    Dyckhoff, R.: Contraction-free sequent calculi for intuitionistic logic. J. Symbolic Logic 57(3), 795–807 (1992)MathSciNetCrossRefMATHGoogle Scholar
  22. 22.
    Ebner, G., Hetzl, S., Reis, G., Riener, M., Wolfsteiner, S., Zivota, S.: System description: GAPT 2.0. In: Olivetti, N., Tiwari, A. (eds.) IJCAR 2016. LNCS, vol. 9706, pp. 293–301. Springer, Cham (2016). doi:10.1007/978-3-319-40229-1_20 Google Scholar
  23. 23.
    Gentzen, G.: Investigations into logical deduction. In: Szabo, M.E. (ed.) The Collected Papers of Gerhard Gentzen, pp. 68–131. North-Holland, Amsterdam (1935)Google Scholar
  24. 24.
    Hannan, J.: Extended natural semantics. J. Funct. Program. 3(2), 123–152 (1993)MathSciNetCrossRefGoogle Scholar
  25. 25.
    Harper, R., Honsell, F., Plotkin, G.: A framework for defining logics. J. ACM 40(1), 143–184 (1993)MathSciNetCrossRefMATHGoogle Scholar
  26. 26.
    Harrison, J.: Metatheory and reflection in theorem proving: A survey and critique. Technical report, Citeseer (1995)Google Scholar
  27. 27.
    Harrison, J., Urban, J., Wiedijk, F.: History of interactive theorem proving. In: Siekmann, J. (ed.) Computational Logic. Handbook of the History of Logic, vol. 9, pp. 135–214. North Holland (2014)Google Scholar
  28. 28.
    Heath, Q., Miller, D.: A framework for proof certificates in finite state exploration. In: Kaliszyk, C., Paskevich, A. (eds.) Proceedings of the Fourth Workshop on Proof eXchange for Theorem Proving. Electronic Proceedings in Theoretical Computer Science, vol. 186, pp. 11–26. Open Publishing Association, August 2015Google Scholar
  29. 29.
    Liang, C., Miller, D.: Focusing and polarization in linear, intuitionistic, and classical logics. Theor. Comput. Sci. 410(46), 4747–4768 (2009)MathSciNetCrossRefMATHGoogle Scholar
  30. 30.
    Libal, T., Volpe, M.: Certification of prefixed tableau proofs for modal logic. In: The Seventh International Symposium on Games, Automata, Logics and Formal Verification (GandALF 2016). EPTCS, vol. 226, Catania, Italy, pp. 257–271, September 2016Google Scholar
  31. 31.
    Marin, S., Miller, D., Volpe, M.: A focused framework for emulating modal proof systems. In: Beklemishev, L., Demri, S., Máté, A. (eds.) 11th Conference on Advances in Modal Logic. Advances in Modal Logic, vol. 11, Budapest, Hungary, pp. 469–488. College Publications, August 2016Google Scholar
  32. 32.
    McCune, W.: Prover9 and mace4 (2010). http://www.cs.unm.edu/~mccune/prover9/
  33. 33.
    Miller, D.: Unification under a mixed prefix. J. Symbolic Comput. 14(4), 321–358 (1992)MathSciNetCrossRefMATHGoogle Scholar
  34. 34.
    Miller, D.: Formalizing operational semantic specifications in logic. In: Proceedings of the 17th International Workshop on Functional and (Constraint) Logic Programming (WFLP 2008), vol. 246, pp. 147–165, August 2009Google Scholar
  35. 35.
    Miller, D.: Proof checking and logic programming. Formal Aspects Comput. 29(3), 383–399 (2017)MathSciNetCrossRefMATHGoogle Scholar
  36. 36.
    Miller, D., Nadathur, G.: Programming with Higher-Order Logic. Cambridge University Press, Cambridge (2012)CrossRefMATHGoogle Scholar
  37. 37.
    Miller, D., Volpe, M.: Focused labeled proof systems for modal logic. In: Davis, M., Fehnker, A., McIver, A., Voronkov, A. (eds.) Logic for Programming, Artificial Intelligence, and Reasoning (LPAR). LNCS, vol. 9450. Springer, Heidelberg (2015)Google Scholar
  38. 38.
    Miller, D.A.: Expansion tree proofs and their conversion to natural deduction proofs. In: Shostak, R.E. (ed.) CADE 1984. LNCS, vol. 170, pp. 375–393. Springer, New York (1984). doi:10.1007/978-0-387-34768-4_22 Google Scholar
  39. 39.
    Nadathur, G., Mitchell, D.J.: System description: Teyjus—a compiler and abstract machine based implementation of \(\lambda \)Prolog. In: Ganzinger, H. (ed.) CADE 1999. LNCS, vol. 1632, pp. 287–291. Springer, Heidelberg (1999). doi:10.1007/3-540-48660-7_25 CrossRefGoogle Scholar
  40. 40.
    Necula, G.C.: Proof-carrying code. In: Conference Record of the 24th Symposium on Principles of Programming Languages 1997, Paris, France, pp. 106–119. ACM Press (1997)Google Scholar
  41. 41.
    Pfenning, F.: Elf: a language for logic definition and verified metaprogramming. In: 4th International Symposium on Logic in Computer Science, Monterey, CA, pp. 313–321, June 1989Google Scholar
  42. 42.
    Pfenning, F.: Logic programming in the LF logical framework. In: Huet, G., Plotkin, G.D. (eds.) Logical Frameworks, pp. 149–181. Cambridge University Press (1991)Google Scholar
  43. 43.
    Pientka, B., Dunfield, J.: Beluga: a framework for programming and reasoning with deductive systems (system description). In: Giesl, J., Hähnle, R. (eds.) IJCAR 2010. LNCS, vol. 6173, pp. 15–21. Springer, Heidelberg (2010). doi:10.1007/978-3-642-14203-1_2 CrossRefGoogle Scholar
  44. 44.
    Plotkin, G.D.: A structural approach to operational semantics. J. Logic Algebraic Program. 60–61, 17–139 (2004)MathSciNetMATHGoogle Scholar
  45. 45.
    Pollack, R.: How to believe a machine-checked proof. In: Sambin, G., Smith, J. (eds.) Twenty Five Years of Constructive Type Theory. Oxford University Press (1998)Google Scholar
  46. 46.
    Robinson, J.A.: A machine-oriented logic based on the resolution principle. J. ACM 12, 23–41 (1965)MathSciNetCrossRefMATHGoogle Scholar
  47. 47.
    Shieber, S.M., Schabes, Y., Pereira, F.C.N.: Principles and implementation of deductive parsing. J. Logic Program. 24(1–2), 3–36 (1995)MathSciNetCrossRefMATHGoogle Scholar
  48. 48.
    Stump, A., Oe, D., Reynolds, A., Hadarean, L., Tinelli, C.: SMT proof checking using a logical framework. Formal Methods Syst. Des. 42(1), 91–118 (2013)CrossRefMATHGoogle Scholar
  49. 49.
    Sutcliffe, G.: The TPTP problem library and associated infrastructure. J. Autom. Reasoning 43(4), 337–362 (2009)CrossRefMATHGoogle Scholar
  50. 50.
    Troelstra, A.S., Schwichtenberg, H.: Basic Proof Theory, 2nd edn. Cambridge University Press, Cambridge (2000)CrossRefMATHGoogle Scholar

Copyright information

© Springer International Publishing AG 2017

Authors and Affiliations

  1. 1.Inria & LIX/École PolytechniquePalaiseauFrance
  2. 2.CEA-ListGif-sur-YvetteFrance

Personalised recommendations