Skip to main content

2018 | OriginalPaper | Buchkapitel

HOL Light QE

verfasst von : Jacques Carette, William M. Farmer, Patrick Laskowski

Erschienen in: Interactive Theorem Proving

Verlag: Springer International Publishing

Aktivieren Sie unsere intelligente Suche, um passende Fachinhalte oder Patente zu finden.

search-config
loading …

Abstract

We are interested in algorithms that manipulate mathematical expressions in mathematically meaningful ways. Expressions are syntactic, but most logics do not allow one to discuss syntax. \({\textsc {ctt}}_\mathrm{qe}\) is a version of Church’s type theory that includes quotation and evaluation operators, akin to quote and eval in the Lisp programming language. Since the \(\text {HOL}\) logic is also a version of Church’s type theory, we decided to add quotation and evaluation to \(\text {HOL Light}\) to demonstrate the implementability of \({\textsc {ctt}}_\mathrm{qe}\) and the benefits of having quotation and evaluation in a proof assistant. The resulting system is called \(\text {HOL Light QE}\). Here we document the design of \(\text {HOL Light QE}\) and the challenges that needed to be overcome. The resulting implementation is freely available.

Sie haben noch keine Lizenz? Dann Informieren Sie sich jetzt über unsere Produkte:

Springer Professional "Wirtschaft+Technik"

Online-Abonnement

Mit Springer Professional "Wirtschaft+Technik" erhalten Sie Zugriff auf:

  • über 102.000 Bücher
  • über 537 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Maschinenbau + Werkstoffe
  • Versicherung + Risiko

Jetzt Wissensvorsprung sichern!

Springer Professional "Technik"

Online-Abonnement

Mit Springer Professional "Technik" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 390 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Maschinenbau + Werkstoffe




 

Jetzt Wissensvorsprung sichern!

Springer Professional "Wirtschaft"

Online-Abonnement

Mit Springer Professional "Wirtschaft" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 340 Zeitschriften

aus folgenden Fachgebieten:

  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Versicherung + Risiko




Jetzt Wissensvorsprung sichern!

Fußnoten
1
In Lisp, the standard symbol for quasiquotation is the backquote () symbol, and thus in Lisp, quasiquotation is usually called backquote.
 
2
And some personal communication with some of system authors.
 
Literatur
1.
Zurück zum Zitat Hales, T., et al.: A formal proof of the Kepler conjecture. Forum Math. Pi 5 (2017) Hales, T., et al.: A formal proof of the Kepler conjecture. Forum Math. Pi 5 (2017)
2.
Zurück zum Zitat Allen, S.F., Constable, R.L., Howe, D.J., Aitken, W.E.: The semantics of reflected proof. In: Proceedings of the Fifth Annual Symposium on Logic in Computer Science (LICS 1990), pp. 95–105. IEEE Computer Society (1990) Allen, S.F., Constable, R.L., Howe, D.J., Aitken, W.E.: The semantics of reflected proof. In: Proceedings of the Fifth Annual Symposium on Logic in Computer Science (LICS 1990), pp. 95–105. IEEE Computer Society (1990)
3.
Zurück zum Zitat Andrews, P.B.: An Introduction to Mathematical Logic and Type Theory: To Truth Through Proof, 2nd edn. Kluwer, Dordrecht (2002) Andrews, P.B.: An Introduction to Mathematical Logic and Type Theory: To Truth Through Proof, 2nd edn. Kluwer, Dordrecht (2002)
4.
Zurück zum Zitat Barzilay, E.: Implementing Reflection in Nuprl. Ph.D. thesis. Cornell University (2005) Barzilay, E.: Implementing Reflection in Nuprl. Ph.D. thesis. Cornell University (2005)
5.
Zurück zum Zitat Bawden, A.: Quasiquotation in Lisp. In: Danvy, O. (ed.) Proceedings of the 1999 ACM SIGPLAN Symposium on Partial Evaluation and Semantics-Based Program Manipulation, pp. 4–12 (1999), Technical report BRICS-NS-99-1, University of Aarhus (1999) Bawden, A.: Quasiquotation in Lisp. In: Danvy, O. (ed.) Proceedings of the 1999 ACM SIGPLAN Symposium on Partial Evaluation and Semantics-Based Program Manipulation, pp. 4–12 (1999), Technical report BRICS-NS-99-1, University of Aarhus (1999)
7.
Zurück zum Zitat Boyer, R., Moore, J.: Metafunctions: proving them correct and using them efficiently as new proof procedures. In: Boyer, R., Moore, J. (eds.) The Correctness Problem in Computer Science, pp. 103–185. Academic Press, New York (1981) Boyer, R., Moore, J.: Metafunctions: proving them correct and using them efficiently as new proof procedures. In: Boyer, R., Moore, J. (eds.) The Correctness Problem in Computer Science, pp. 103–185. Academic Press, New York (1981)
8.
Zurück zum Zitat Boyer, R., Moore, J.: A Computational Logic Handbook. Academic Press, San Diego (1988)MATH Boyer, R., Moore, J.: A Computational Logic Handbook. Academic Press, San Diego (1988)MATH
10.
Zurück zum Zitat Buchberger, B., Craciun, A., Jebelean, T., Kovacs, L., Kutsia, T., Nakagawa, K., Piroi, F., Popov, N., Robu, J., Rosenkranz, M., Windsteiger, W.: Theorema: towards computer-aided mathematical theory exploration. J. Appl. Logic 4, 470–504 (2006)MathSciNetCrossRef Buchberger, B., Craciun, A., Jebelean, T., Kovacs, L., Kutsia, T., Nakagawa, K., Piroi, F., Popov, N., Robu, J., Rosenkranz, M., Windsteiger, W.: Theorema: towards computer-aided mathematical theory exploration. J. Appl. Logic 4, 470–504 (2006)MathSciNetCrossRef
11.
Zurück zum Zitat Cappelen, H., LePore, E.: Quotation. In: Zalta, E.N. (ed.) The Stanford Encyclopedia of Philosophy, Spring 2012 Cappelen, H., LePore, E.: Quotation. In: Zalta, E.N. (ed.) The Stanford Encyclopedia of Philosophy, Spring 2012
13.
Zurück zum Zitat Chaieb, A., Nipkow, T.: Proof synthesis and reflection for linear arithmetic. J. Autom. Reason. 41, 33–59 (2008)MathSciNetCrossRef Chaieb, A., Nipkow, T.: Proof synthesis and reflection for linear arithmetic. J. Autom. Reason. 41, 33–59 (2008)MathSciNetCrossRef
14.
Zurück zum Zitat Chlipala, A.: Certified Programming with Dependent Types: A Pragmatic Introduction to the Coq Proof Assistant. MIT Press, Cambridge (2013)MATH Chlipala, A.: Certified Programming with Dependent Types: A Pragmatic Introduction to the Coq Proof Assistant. MIT Press, Cambridge (2013)MATH
17.
Zurück zum Zitat Christiansen, D.R.: Practical Reflection and Metaprogramming for Dependent Types. Ph.D. thesis. IT University of Copenhagen (2016) Christiansen, D.R.: Practical Reflection and Metaprogramming for Dependent Types. Ph.D. thesis. IT University of Copenhagen (2016)
19.
Zurück zum Zitat Clavel, M., Meseguer, J.: Reflection in conditional rewriting logic. Theoret. Comput. Sci. 285, 245–288 (2002)MathSciNetCrossRef Clavel, M., Meseguer, J.: Reflection in conditional rewriting logic. Theoret. Comput. Sci. 285, 245–288 (2002)MathSciNetCrossRef
21.
Zurück zum Zitat Constable, R.L., Allen, S.F., Bromley, H.M., Cleaveland, W.R., Cremer, J.F., Harper, R.W., Howe, D.J., Knoblock, T.B., Mendler, N.P., Panangaden, P., Sasaki, J.T., Smith, S.F.: Implementing Mathematics with the Nuprl Proof Development System. Prentice-Hall, Englewood Cliffs (1986) Constable, R.L., Allen, S.F., Bromley, H.M., Cleaveland, W.R., Cremer, J.F., Harper, R.W., Howe, D.J., Knoblock, T.B., Mendler, N.P., Panangaden, P., Sasaki, J.T., Smith, S.F.: Implementing Mathematics with the Nuprl Proof Development System. Prentice-Hall, Englewood Cliffs (1986)
24.
Zurück zum Zitat Ebner, G., Ullrich, S., Roesch, J., Avigad, J., de Moura, L.: A metaprogramming framework for formal verification. Proc. ACM Program. Lang. 1, 34 (2017)CrossRef Ebner, G., Ullrich, S., Roesch, J., Avigad, J., de Moura, L.: A metaprogramming framework for formal verification. Proc. ACM Program. Lang. 1, 34 (2017)CrossRef
27.
Zurück zum Zitat Farmer, W.M.: Incorporating quotation and evaluation into Church’s type theory. Inf. Comput. 260C, 9–50 (forthcoming, 2018) Farmer, W.M.: Incorporating quotation and evaluation into Church’s type theory. Inf. Comput. 260C, 9–50 (forthcoming, 2018)
28.
Zurück zum Zitat Giese, M., Buchberger, B.: Towards practical reflection for formal mathematics. RISC Report Series 07–05, Research Institute for Symbolic Computation (RISC). Johannes Kepler University (2007) Giese, M., Buchberger, B.: Towards practical reflection for formal mathematics. RISC Report Series 07–05, Research Institute for Symbolic Computation (RISC). Johannes Kepler University (2007)
31.
Zurück zum Zitat Gonthier, G., Mahboubi, A.: An introduction to small scale reflection in Coq. J. Formalized Reason. 3, 95–152 (2010)MathSciNetMATH Gonthier, G., Mahboubi, A.: An introduction to small scale reflection in Coq. J. Formalized Reason. 3, 95–152 (2010)MathSciNetMATH
32.
Zurück zum Zitat Gordon, M.J.C., Melham, T.F.: Introduction to HOL: A Theorem Proving Environment for Higher Order Logic. Cambridge University Press, New York (1993)MATH Gordon, M.J.C., Melham, T.F.: Introduction to HOL: A Theorem Proving Environment for Higher Order Logic. Cambridge University Press, New York (1993)MATH
34.
Zurück zum Zitat Grundy, J., Melham, T., O’Leary, J.: A reflective functional language for hardware design and theorem proving. Funct. Program. 16 (2006) Grundy, J., Melham, T., O’Leary, J.: A reflective functional language for hardware design and theorem proving. Funct. Program. 16 (2006)
37.
39.
Zurück zum Zitat Hickey, J., Nogin, A., Constable, R.L., Aydemir, B.E., Barzilay, E., Bryukhov, Y., Eaton, R., Granicz, A., Kopylov, A., Kreitz, C., Krupski, V.N., Lorigo, L., Schmitt, S., Witty, C., Yu, X.: MetaPRL – a modular logical environment. In: Basin, D., Wolff, B. (eds.) TPHOLs 2003. LNCS, vol. 2758, pp. 287–303. Springer, Heidelberg (2003). https://doi.org/10.1007/10930755_19CrossRef Hickey, J., Nogin, A., Constable, R.L., Aydemir, B.E., Barzilay, E., Bryukhov, Y., Eaton, R., Granicz, A., Kopylov, A., Kreitz, C., Krupski, V.N., Lorigo, L., Schmitt, S., Witty, C., Yu, X.: MetaPRL – a modular logical environment. In: Basin, D., Wolff, B. (eds.) TPHOLs 2003. LNCS, vol. 2758, pp. 287–303. Springer, Heidelberg (2003). https://​doi.​org/​10.​1007/​10930755_​19CrossRef
40.
Zurück zum Zitat Howe, D.: Reflecting the semantics of reflected proof. In: Aczel, P., Simmons, H., Wainer, S. (eds.) Proof Theory, pp. 229–250. Cambridge University Press, Cambridge (1992) Howe, D.: Reflecting the semantics of reflected proof. In: Aczel, P., Simmons, H., Wainer, S. (eds.) Proof Theory, pp. 229–250. Cambridge University Press, Cambridge (1992)
42.
Zurück zum Zitat James, D.W.H., Hinze, R.: A reflection-based proof tactic for lattices in Coq. In: Horváth, Z., Zsók, V., Achten, P., Koopman, P.W.M. (eds.) Proceedings of the Tenth Symposium on Trends in Functional Programming (TFP 2009). Trends in Functional Programming, vol. 10, pp. 97–112. Intellect (2009) James, D.W.H., Hinze, R.: A reflection-based proof tactic for lattices in Coq. In: Horváth, Z., Zsók, V., Achten, P., Koopman, P.W.M. (eds.) Proceedings of the Tenth Symposium on Trends in Functional Programming (TFP 2009). Trends in Functional Programming, vol. 10, pp. 97–112. Intellect (2009)
43.
Zurück zum Zitat Kaufmann, M., Moore, J.S.: An industrial strength theorem prover for a logic based on Common Lisp. IEEE Trans. Softw. Eng. 23, 203–213 (1997)CrossRef Kaufmann, M., Moore, J.S.: An industrial strength theorem prover for a logic based on Common Lisp. IEEE Trans. Softw. Eng. 23, 203–213 (1997)CrossRef
45.
Zurück zum Zitat Knoblock, T.B., Constable, R.L.: Formalized metareasoning in type theory. In: Proceedings of the Symposium on Logic in Computer Science (LICS 1986), pp. 237–248. IEEE Computer Society (1986) Knoblock, T.B., Constable, R.L.: Formalized metareasoning in type theory. In: Proceedings of the Symposium on Logic in Computer Science (LICS 1986), pp. 237–248. IEEE Computer Society (1986)
47.
Zurück zum Zitat Nogin, A., Kopylov, A., Yu, X., Hickey, J.: A computational approach to reflective meta-reasoning about languages with bindings. In: Pollack, R. (ed.) ACM SIGPLAN International Conference on Functional Programming, Workshop on Mechanized Reasoning about Languages with Variable Binding (MERLIN 2005), pp. 2–12. ACM (2005) Nogin, A., Kopylov, A., Yu, X., Hickey, J.: A computational approach to reflective meta-reasoning about languages with bindings. In: Pollack, R. (ed.) ACM SIGPLAN International Conference on Functional Programming, Workshop on Mechanized Reasoning about Languages with Variable Binding (MERLIN 2005), pp. 2–12. ACM (2005)
48.
Zurück zum Zitat Norell, U.: Dependently typed programming in Agda. In: Kennedy, A., Ahmed, A. (eds.) Proceedings of TLDI 2009, pp. 1–2. ACM (2009) Norell, U.: Dependently typed programming in Agda. In: Kennedy, A., Ahmed, A. (eds.) Proceedings of TLDI 2009, pp. 1–2. ACM (2009)
49.
Zurück zum Zitat Oostdijk, M., Geuvers, H.: Proof by computation in the Coq system. Theor. Comput. Sci. 272 (2002) Oostdijk, M., Geuvers, H.: Proof by computation in the Coq system. Theor. Comput. Sci. 272 (2002)
50.
Zurück zum Zitat Polonsky, A.: Axiomatizing the quote. In: Bezem, M. (ed.) Computer Science Logic (CSL 2011) – 25th International Workshop/20th Annual Conference of the EACSL. Leibniz International Proceedings in Informatics (LIPIcs), vol. 12, pp. 458–469. Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2011) Polonsky, A.: Axiomatizing the quote. In: Bezem, M. (ed.) Computer Science Logic (CSL 2011) – 25th International Workshop/20th Annual Conference of the EACSL. Leibniz International Proceedings in Informatics (LIPIcs), vol. 12, pp. 458–469. Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2011)
51.
Zurück zum Zitat Quine, W.V.O.: Mathematical Logic, Revised edn. Harvard University Press, Cambridge (2003)MATH Quine, W.V.O.: Mathematical Logic, Revised edn. Harvard University Press, Cambridge (2003)MATH
53.
Zurück zum Zitat Tarski, A.: The concept of truth in formalized languages. In: Corcoran, J. (ed.) Logic, Semantics, Meta-Mathematics, 2nd edn., pp. 152–278. Hackett (1983) Tarski, A.: The concept of truth in formalized languages. In: Corcoran, J. (ed.) Logic, Semantics, Meta-Mathematics, 2nd edn., pp. 152–278. Hackett (1983)
55.
Zurück zum Zitat van der Walt, P.: Reflection in Agda. Master’s thesis, Universiteit Utrecht (2012) van der Walt, P.: Reflection in Agda. Master’s thesis, Universiteit Utrecht (2012)
57.
Zurück zum Zitat Yu, X.: Reflection and Its Application to Mechanized Metareasoning about Programming Languages. Ph.D. thesis. California Institute of Technology (2007) Yu, X.: Reflection and Its Application to Mechanized Metareasoning about Programming Languages. Ph.D. thesis. California Institute of Technology (2007)
Metadaten
Titel
HOL Light QE
verfasst von
Jacques Carette
William M. Farmer
Patrick Laskowski
Copyright-Jahr
2018
DOI
https://doi.org/10.1007/978-3-319-94821-8_13