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

Conference paper

First Online:

## 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.

## References

- 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.S. Abramsky. The lazy lambda calculus. In D. Turner, editor,
*Research Topics in Functional Programming*, pages 65–116. Addison-Wesley, 1990.Google Scholar - 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.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.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.J. Despeyroux and P. Leleu. Metatheoretic results for a modal λ-calculus.
*Journal of Functional and Logic Programming*, 2000(1), 2000.Google Scholar - 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.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.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.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.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.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.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.L. Hallnas. Partial inductive definitions.
*Theoretical Computer Science*, 87(1):115–147, July 1991.Google Scholar - 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.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.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.F. Honsell, M. Miculan, and I. Scagnetto. π-calculus in (co)inductive type theories.
*Theoretical Computer Science*, 2(253):239–285, 2001.MathSciNetGoogle Scholar - 19.R. McDowell.
*Reasoning in a Logic with Definitions and Induction*. PhD thesis, University of Pennsylvania, 1997.Google Scholar - 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.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.T.F. Melham. A mechanized theory of the π-calculus in HOL.
*Nordic Journal of Computing*, 1(1):50–76, Spring 1994.Google Scholar - 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.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.F. Pfenning. Computation and deduction. Lecture notes, 277 pp. Revised 1994, 1996, to be published by Cambridge University Press, 1992.Google Scholar
- 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.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.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.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