Advertisement

Mathematics in Computer Science

, Volume 3, Issue 3, pp 309–330 | Cite as

Tactics for Hierarchical Proof

  • David Aspinall
  • Ewen Denney
  • Christoph Lüth
Article

Abstract

There is something of a discontinuity at the heart of popular tactical theorem provers. Low-level, fully-checked mechanical proofs are large trees consisting of primitive logical inferences. Meanwhile, high-level human inputs are lexically structured formal texts which include tactics describing search procedures. The proof checking process maps from the high-level to low-level, but after that, explicit connections are usually lost. The lack of connection can make it difficult to understand the proof trees produced by successful tactic proofs, and difficult to debug faulty tactic proofs. We propose the use of hierarchical proofs, also known as hiproofs, to help bridge these levels. Hiproofs superimpose a labelled hierarchical nesting on an ordinary proof tree, abstracting from the underlying logic. The labels and nesting are used to describe the organisation of the proof, typically relating to its construction process. In this paper we introduce a foundational tactic language Hitac which constructs hiproofs in a generic setting. Hitac programs can be evaluated using a big-step or a small-step operational semantics. The big-step semantics captures the intended meaning, whereas the small-step semantics is closer to possible implementations and provides a unified notion of proof state. We prove that the semantics are equivalent and construct valid proofs. We also explain how to detect terms which are stuck in the small-step semantics, and how these suggest interaction points with debugging tools. Finally we show some typical examples of tactics, constructed using tactical combinators, in our language.

Keywords

Hierarchical proof Hiproof Tactical theorem proving 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Aboul-Hosn, K.: A proof-theoretic approach to tactics. In: Borwein, J.M., Farmer, W.M. (eds.) Mathematical Knowledge Management, 5th International Conference, MKM 2006. Lecture Notes in Computer Science, vol. 4108, pp. 54–66. Springer, Berlin (2006)Google Scholar
  2. 2.
    Allen S.F., Bickford M., Constable R.L., Eaton R., Kreitz C., Lorigo L., Moran E.: Innovations in computational type theory using Nuprl. J. Appl. Logic 4(4), 428–469 (2006)MathSciNetzbMATHCrossRefGoogle Scholar
  3. 3.
    Appel A.W., Felty A.P.: Dependent types ensure partial correctness of theorem provers. J. Funct. Program. 14, 3–19 (2004)MathSciNetzbMATHCrossRefGoogle Scholar
  4. 4.
    Asperti A., Coen C.S., Tassi E., Zacchiroli S.: User interaction with the matita proof assistant. J. Autom. Reason. 39(2), 109–139 (2007)zbMATHCrossRefGoogle Scholar
  5. 5.
    Aspinall, D.: Proof general: a generic tool for proof development. In: Graf, S., Schwartzbach, M. (eds.) Tools and Algorithms for the Construction and Analysis of Systems, LNCS 1785, pp. 38–42. Springer, Berlin (2000)Google Scholar
  6. 6.
    Delahaye, D.: A tactic language for the system Coq. In: Logic for Programming and Automated Reasoning: 7th International Conference, LPAR 2000, Reunion Island, France, November 6–10, 2000. Lecture Notes in Computer Science, vol. 1955, pp. 85–95 (2000)Google Scholar
  7. 7.
    Denney, E., Power, J., Tourlas, K.: Hiproofs: a hierarchical notion of proof tree. In: Proceedings of Mathematical Foundations of Programing Semantics (MFPS). Electronic Notes in Theoretical Computer Science (ENTCS). Elsevier, Amsterdam (2005)Google Scholar
  8. 8.
    Felty A.P.: Implementing tactics and tacticals in a higher-order logic programming language. J. Autom. Reason. 11(1), 41–81 (1993)MathSciNetCrossRefGoogle Scholar
  9. 9.
    Felty, A.P., Howe, D.: Generalization and reuse of tactic proofs. In: Fifth International Conference on Logic Programming and Automated Reasoning LPAR. Lecture Notes in Computer Science, vol. 822. Springer, Berlin (1994)Google Scholar
  10. 10.
    Gordon, M.J.C., Milner, R., Wadsworth, C.P.: Edinburgh LCF. Lecture Notes in Computer Science, vol. 78, Springer, Berlin (1979)Google Scholar
  11. 11.
    Harrison, J.: Towards self-verification of HOL Light. In: Proceeding of the IJCAR 2006, the Third International Joint Conference on Automated Reasoning. Lecture Notes in Computer Science, vol. 4130, pp. 177–191. Springer, Berlin (2006)Google Scholar
  12. 12.
    Heneveld, A.: Using features in interactive theorem proving. PhD thesis, School of Informatics, University of Edinburgh (2006)Google Scholar
  13. 13.
    Jojgov G.I., Geuvers H.: A calculus of tactics and its operational semantics. Electr. Notes Theor. Comput. Sci. 93, 118–137 (2004)CrossRefGoogle Scholar
  14. 14.
    Kirchner, F.: Coq tacticals and PVS strategies: a small-step semantics. In: Archer, M., Di Vito, B., Muñoz, C. (eds.) Design and Application of Strategies/Tactics in Higher Order Logics, pp. 69–83. NASA/CP-2003-212448 (2003)Google Scholar
  15. 15.
    Kirchner, F., Muñoz, C.: pvs#: streamlined tacticals for PVS. In: Proceedings of STRATEGIES’06 (2006)Google Scholar
  16. 16.
    Kohlhase, M.: OMDoc—an open markup format for mathematical documents. Lecture Notes in Computer Science, vol. 4180. Springer, Berlin (2006)Google Scholar
  17. 17.
    Kolbe, T., Walther, C.: Reusing proofs. In: Cohn, A.G. (ed.) Proceedings of the Eleventh European Conference on Artificial Intelligence, pp. 80–84, Chichester, Wiley, New York (1994)Google Scholar
  18. 18.
    Kreitz, C.: The nuprl proof development system, version 5—reference manual and user’s guide. Department of Computer Science, Cornell-University, Ithaca 14853-7501 (2002)Google Scholar
  19. 19.
    Martin A.P., Gardiner P.H.B., Woodcock J.C.P.: A tactic calculus—full version. Formal Aspects Comput. 8(E), 224–285 (1996)Google Scholar
  20. 20.
    Nipkow, T., Paulson, L.C., Wenzel, M.: Isabelle/HOL—a proof assistant for higher-order logic. Lecture Notes in Computer Science, vol. 2283, Springer, Berlin (2002)Google Scholar
  21. 21.
    Oliveira M.V.M., Cavalcanti A.L.C., Woodcock J.C.P.: ArcAngel: a tactic language for refinement. Formal Aspects Comput. 15(1), 28–47 (2003)zbMATHCrossRefGoogle Scholar
  22. 22.
    Paulson L.C.: Isabelle: the next 700 theorem provers. In: Odifreddi, P. (eds) Logic and Computer Science, pp. 361–386. Academic Press, London (1990)Google Scholar
  23. 23.
    Pollack R.: On extensibility of proof checkers. In: Dybjer, P., Nordström, B., Smith, J.M. (eds) TYPES. Lecture Notes in Computer Science, vol. 996, pp. 140–161. Springer, Berlin (1994)Google Scholar
  24. 24.
    Sacerdoti Coen C., Tassi E., Zacchiroli S.: Tinycals: Step by step tacticals. Electr. Notes Theor. Comput. Sci. 174(2), 125–142 (2007)CrossRefGoogle Scholar
  25. 25.
    Schairer, A., Autexier, S., Hutter, D.: A pragmatic approach to reuse in tactical theorem proving. In: Proceedings of the 4th International Workshop on Strategies in Automated Deduction (STRATEGIES 2001). Electronic Notes in Computer Science, vol. 58, pp. 203–216. Elsevier, Amsterdam (2001)Google Scholar
  26. 26.
    Siekmann J., Benzmüller C., Autexier S.: Computer supported mathematics with OMEGA. J. Appl. Logic 4(4), 533–559 (2006)zbMATHCrossRefGoogle Scholar
  27. 27.
    Siekmann J., Hess S., Benzmüller C., Cheikhrouhou L., Fiedler A., Horacek H., Kohlhase M., Konrad K., Meier A., Melis E., Pollet M., Sorge V.: LOUI: lovely omega user interface. Formal Aspects Comput. 11, 326–342 (1999)CrossRefGoogle Scholar
  28. 28.
    Slind K., Norrish M.: A brief overview of HOL4. In: Mohamed, O.A., Muñoz, C., Tahar, S. (eds) Theorem Proving in Higher-Order Logics. TPHOLs 2008 Lecture Notes in Computer Science, vol. 5170, pp. 28–32. Springer, Berlin (2008)CrossRefGoogle Scholar
  29. 29.
    Wagner, M., Autexier, S., Benzmüller, C.: PLATO: A mediator between text-editors and proof assistance systems. In: Autexier, S., Benzmüller, C. (eds.) 7th Workshop on User Interfaces for Theorem Provers (UITP’06). Electronic Notes on Theoretical Computer Science, vol. 174(2), pp. 87–107. Elsevier (2006)Google Scholar
  30. 30.
    Wenzel, M.: Isar—a generic interpretative approach to readable formal proof documents. In: Bertot, Y., Dowek, G., Hirschowitz, A., Paulin, C., Théry, L. (eds.) Theorem Proving in Higher Order Logics TPHOLs’99. Lecture Notes in Computer Science, vol. 1690, pp. 167–184. Springer, Berlin (1999)Google Scholar

Copyright information

© Birkhäuser Verlag Basel/Switzerland 2010

Authors and Affiliations

  1. 1.LFCS, School of InformaticsUniversity of EdinburghEdinburghScotland, UK
  2. 2.RIACS, NASA Ames Research CenterMoffett FieldUSA
  3. 3.Deutsches Forschungszentrum für Künstliche IntelligenzBremenGermany

Personalised recommendations