Combining Higher Order Abstract Syntax with Tactical Theorem Proving and (Co)Induction

  • Simon J. Ambler
  • Roy L. Crole
  • Alberto Momigliano
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2410)

Abstract

Combining Higher Order Abstract Syntax (HOAS) and induction is well known to be problematic. We have implemented a tool called Hybrid, within Isabelle HOL, which does allow object logics to be represented using HOAS, and reasoned about using tactical theorem proving in general and principles of (co)induction in particular. In this paper we describe Hybrid, and illustrate its use with case studies. We also provide some theoretical adequacy results which underpin our practical work.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    A. Gordon. A mechanisation of name-carrying syntax up to alpha-conversion. In J.J. Joyce and C.-J.H. Seger, editors, International Workshop on Higher Order Logic Theorem Proving and its Applications, volume 780 of Lecture Notes in Computer Science, pages 414–427, Vancouver, Canada, Aug. 1993. University of British Columbia, Springer-Verlag, published 1994.Google Scholar
  2. 2.
    S. Abramsky. The lazy lambda calculus. In D. Turner, editor, Research Topics in Functional Programming, pages 65–116. Addison-Wesley, 1990.Google Scholar
  3. 3.
    N. Benton and A. Kennedy. Monads, effects and transformations. In Proceedings of the 3rd International Workshop in Higher Order Operational Techniques in Semantics, volume 26 of Electronic Notes in Theoretical Computer Science. Elsevier, 1998.Google Scholar
  4. 4.
    N. de Bruijn. Lambda-calculus notation with nameless dummies: A tool for automatic formula manipulation with application to the Church-Rosser theorem. Indag. Math., 34(5):381–392, 1972.Google Scholar
  5. 5.
    J. Despeyroux, A. Felty, and A. Hirschowitz. Higher-order abstract syntax in Coq. In M. Dezani-Ciancaglini and G. Plotkin, editors, Proceedings of the International Conference on Typed Lambda Calculi and Applications, pages 124–138, Edinburgh, Scotland, Apr. 1995. Springer-Verlag LNCS 902.CrossRefGoogle Scholar
  6. 6.
    J. Despeyroux and P. Leleu. Metatheoretic results for a modal λ-calculus. Journal of Functional and Logic Programming, 2000(1), 2000.Google Scholar
  7. 7.
    J. Despeyroux, F. Pfenning, and C. Schürmann. Primitive recursion for higher-order abstract syntax. In R. Hindley, editor, Proceedings of the Third International Conference on Typed Lambda Calculus and Applications (TLCA’ 97), pages 147–163, Nancy, France, Apr. 1997. Springer-Verlag LNCS.Google Scholar
  8. 8.
    M. Fiore, G.D. Plotkin, and D. Turi. Abstract Syntax and Variable Binding. In G. Longo, editor, Proceedings of the 14th Annual Symposium on Logic in Computer Science (LICS’99), pages 193–202, Trento, Italy, 1999. IEEE Computer Society Press.Google Scholar
  9. 9.
    J. Ford and I.A. Mason. Operational Techniques in PVS-A Preliminary Evaluation. In Proceedings of the Australasian Theory Symposium, CATS’ 01, 2001.Google Scholar
  10. 10.
    M. Gabbay and A. Pitts. A new approach to abstract syntax involving binders. In G. Longo, editor, Proceedings of the 14th Annual Symposium on Logic in Computer Science (LICS’99), pages 214–224, Trento, Italy, 1999. IEEE Computer Society Press.Google Scholar
  11. 11.
    S. Gay. A framework for the formalisation of pi-calculus type systems in Isabelle/HOL. In Proceedings of the 14th International Conference on Theorem Proving in Higher Order Logics (TPHOLs 2001, LNCS. Springer-Verlag, 2001.Google Scholar
  12. 12.
    A.D. Gordon and T. Melham. Five axioms of alpha-conversion. In J. von Wright, J. Grundy, and J. Harrison, editors, Proceedings of the 9th International Conference on Theorem Proving in Higher Order Logics (TPHOLs’96), volume 1125 of Lecture Notes in Computer Science, pages 173–190, Turku, Finland, August 1996. Springer-Verlag.Google Scholar
  13. 13.
    E.L. Gunter. Why we can’t have SML style datatype declarations in HOL. In L.J.M. Claese and M.J.C. Gordon, editors, Higher Order Logic Theorem Proving and Its Applications, volume A-20 of IFIP Transactions, pages 561–568. North-Holland Press, Sept. 1992.Google Scholar
  14. 14.
    L. Hallnas. Partial inductive definitions. Theoretical Computer Science, 87(1):115–147, July 1991.Google Scholar
  15. 15.
    R. Harper, F. Honsell, and G. Plotkin. A framework for defining logics. Journal of the Association for Computing Machinery, 40(1):143–184, Jan. 1993.Google Scholar
  16. 16.
    M. Hofmann. Semantical analysis for higher-order abstract syntax. In G. Longo, editor, Proceedings of the 14th Annual Symposium on Logic in Computer Science (LICS’99), pages 204–213, Trento, Italy, July 1999. IEEE Computer Society Press.Google Scholar
  17. 17.
    F. Honsell, M. Miculan, and I. Scagnetto. An axiomatic approach to metareasoning on systems in higher-order abstract syntax. In Proc. ICALP 2001, volume 2076 in LNCS, pages 963–978. Springer-Verlag, 2001.Google Scholar
  18. 18.
    F. Honsell, M. Miculan, and I. Scagnetto. π-calculus in (co)inductive type theories. Theoretical Computer Science, 2(253):239–285, 2001.MathSciNetGoogle Scholar
  19. 19.
    R. McDowell. Reasoning in a Logic with Definitions and Induction. PhD thesis, University of Pennsylvania, 1997.Google Scholar
  20. 20.
    R. McDowell and D. Miller. Reasoning with higher-order abstract syntax in a logical framework. ACM Transaction in Computational Logic, 2001. To appear.Google Scholar
  21. 21.
    J. McKinna and R. Pollack. Some Type Theory and Lambda Calculus Formalised. To appear in Journal of Automated Reasoning, Special Issue on Formalised Mathematical Theories (F. Pfenning, Ed.)Google Scholar
  22. 22.
    T.F. Melham. A mechanized theory of the π-calculus in HOL. Nordic Journal of Computing, 1(1):50–76, Spring 1994.Google Scholar
  23. 23.
    M. Miculan. Developing (meta)theory of lambda-calculus in the theory of contexts. In S. Ambler, R. Crole, and A. Momigliano, editors, MERLIN 2001: Proceedings of the Workshop on MEchanized Reasoning about Languages with variable bINding, volume 58 of Electronic Notes in Theoretical Computer Scienc, pages 1–22, November 2001.Google Scholar
  24. 24.
    J. Parrow. An introduction to the pi-calculus. In J. Bergstra, A. Ponse, and S. Smolka, editors, Handbook of Process Algebra, pages 479–543. Elsevier Science, 2001.Google Scholar
  25. 25.
    F. Pfenning. Computation and deduction. Lecture notes, 277 pp. Revised 1994, 1996, to be published by Cambridge University Press, 1992.Google Scholar
  26. 26.
    F. Pfenning and C. Elliott. Higher-order abstract syntax. In Proceedings of the ACM SIGPLAN’88 Symposium on Language Design and Implementation, pages 199–208, Atlanta, Georgia, June 1988.Google Scholar
  27. 27.
    F. Pfenning and C. Schürmann. System description: Twelf— A metalogical framework for deductive systems. In H. Ganzinger, editor, Proceedings of the 16th International Conference on Automated Deduction (CADE-16), pages 202–206, Trento, Italy, July 1999. Springer-Verlag LNAI 1632.Google Scholar
  28. 28.
    A. M. Pitts. Nominal logic: A first order theory of names and binding. In N. Kobayashi and B. C. Pierce, editors, Theoretical Aspects of Computer Software, 4th International Symposium, TACS 2001, Sendai, Japan, October 29–31, 2001, Proceedings, volume 2215 of Lecture Notes in Computer Science, pages 219–242. Springer-Verlag, Berlin, 2001.Google Scholar
  29. 29.
    R. Vestergaard and J. Brotherson. A formalized first-order conflence proof for the λ-calculus using one sorted variable names. In A. Middelrop, editor, Proceedings of RTA 2001, volume 2051 of LNCS, pages 306–321. Springer-Verlag, 2001.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2002

Authors and Affiliations

  • Simon J. Ambler
    • 1
  • Roy L. Crole
    • 1
  • Alberto Momigliano
    • 1
  1. 1.Department of Mathematics and Computer ScienceUniversity of LeicesterLeicesterUK

Personalised recommendations