Skip to main content

A mechanisation of name-carrying syntax up to alpha-conversion

  • Conference paper
  • First Online:
Book cover Higher Order Logic Theorem Proving and Its Applications (HUG 1993)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 780))

Included in the following conference series:

Abstract

We present a new strategy for representing syntax in a, mechanised logic. We define an underlying type of de Bruijn terms, define an operation of named lambda-abstraction, and hence inductively define a set of conventional name-carrying terms. The result is a mechanisation of the practice of most authors studying formal calculi: to work with conventional name-carrying notation and substitution, but to identify terms up to alpha-conversion. This strategy falls between most previous works, which either treat bound variable names literally or dispense with them altogether. The theory has been implemented in the Cambridge HOL system and used in an experimental application.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Martín Abadi, Luca Cardelli, Pierre-Louis Curien, and Jean-Jacques Lévy. Explicit substitutions. Journal of Functional Programming, 1(4):375–416, October 1991.

    Google Scholar 

  2. Samson Abramsky. The lazy lambda calculus. In David Turner, editor, Research Topics in Functional Programming, pages 65–116. Addison-Wesley, 1990.

    Google Scholar 

  3. Thorsten Altenkirch. A formalization of the strong normalization proof for System F in LEGO. In TLCA '93 International Conference on Typed Lambda Calculi and Applications, Utrecht, 16–18 March 1993, volume 664 of Lecture Notes in Computer Science, pages 13–28. Springer-Verlag, 1993.

    Google Scholar 

  4. H. P. Barendregt. The Lambda Calculus: Its Syntax and Semantics, volume 103 of Studies in logic and the foundations of mathematics. North-Holland, revised edition, 1984.

    Google Scholar 

  5. Richard Boulton, Andrew Gordon, Mike Gordon, John Harrison, John Herbert, and John Van Tassel. Experience with embedding hardware description languages in HOL. In V. Stavridou, T. F. Melham, and R. T. Boute, editors, Theorem Provers in Circuit Design: Theory, Practice and Experience: Proceedings of the IFIP TC10/WG 10.2 International Conference, Nijmegen, June 1992, IFIP Transactions A-10, pages 129–156. North-Holland, 1992.

    Google Scholar 

  6. Alonzo Church and J. B. Rosser. Some properties of conversion. Transactions of the American Mathematical Society, 36(3):472–482, May 1936.

    MathSciNet  Google Scholar 

  7. Catarina Coquand. A machine assisted semantical analysis of simply typed lambda calculus. In P. Dybjer, J. Hughes, A. Moran, and B. Nordström, editors, Proceedings of El Wintermöte, pages 92–100. Programming Methodology Group, Chalmers University of Technology and University of Gothenburg, June 1993. Available as Report 73.

    Google Scholar 

  8. N. G. de Bruijn. Lambda calculus notation with nameless dummies, a tool for automatic formula manipulation, with application to the Church-Rosser theorem. Indagationes Mathematicae, 34:381–392, 1972.

    Google Scholar 

  9. Joëlle Despeyroux and André Hirschowitz. Higher-order abstract syntax and induction. Transparencies for a talk at the Types BRA Workshop on Proving Properties of Programming Languages, Sophia-Antipolis, September 1993.

    Google Scholar 

  10. M. J. C. Gordon and T. F. Melham, editors. Introduction to HOL: A theoremproving environment for higher-order logic. Cambridge University Press, 1993.

    Google Scholar 

  11. Michael J. C. Gordon. Mechanizing programming logics in higher order logic. Technical Report 145, University of Cambridge Computer Laboratory, September 1988.

    Google Scholar 

  12. Elsa L. Gunter. Why we can't have SML style datatype declarations in HOL. In L. Claesen and M. Gordon, editors, Higher Order Logic Theorem Proving and its Applications, pages 365–372, Leuven, 1992. IMEC.

    Google Scholar 

  13. J. Roger Hindley and Jonathan P. Seldin. Introduction to Combinators and λ-Calculus. Cambridge University Press, 1986.

    Google Scholar 

  14. Gérard Huet. Residual theory in λ-calculus: A complete Gallina development. Preprint, 1992.

    Google Scholar 

  15. James McKinna and Robert Pollack. Pure Type Systems formalized. In TLCA '93 International Conference on Typed Lambda Calculi and Applications, Utrecht, 16–18 March 1993, volume 664 of Lecture Notes in Computer Science, pages 289–305. Springer-Verlag, 1993.

    Google Scholar 

  16. T. F. Melham. The HOL pred_sets Library. University of Cambridge Computer Laboratory, February 1992.

    Google Scholar 

  17. Thomas F. Melham. A package for inductive relation definitions in HOL. In Proceedings of the 1991 International Workshop on the HOL Theorem Proving System and its Applications, Davis, California, pages 350–357. IEEE Computer Society Press, 1991.

    Google Scholar 

  18. Thomas F. Melham. A mechanized theory of the π-calculus in HOL. Technical Report 244, University of Cambridge Computer Laboratory, January 1992.

    Google Scholar 

  19. Thomas Frederick Melham. Formalizing Abstraction Mechanisms for Hardware Verification in Higher Order Logic. PhD thesis, University of Cambridge Computer Laboratory, August 1990. Available as Technical Report 201.

    Google Scholar 

  20. Robin Milner, Mads Tofte, and Robert Harper. The Definition of Standard ML. MIT Press, Cambridge, Mass., 1990.

    Google Scholar 

  21. Monica Nesi. A formalization of the process algebra CCS in higher order logic. Technical Report 278, University of Cambridge Computer Laboratory, December 1992.

    Google Scholar 

  22. Bengt Nordström. Martin-Löf's type theory as a programming logic. Report 27, Programming Methodology Group, Chalmers University of Technology and University of Gothenburg, September 1986.

    Google Scholar 

  23. Lawrence C. Paulson. ML for the Working Programmer.Cambridge University Press, 1991.

    Google Scholar 

  24. Lawrence C. Paulson. The Isabelle reference manual. Internal report, University of Cambridge Computer Laboratory, 1992.

    Google Scholar 

  25. Frank Pfenning. A proof of the Church-Rosser theorem and its representation in a logical framework. Technical Report CMU-CS-92-186, Computer Science Dept., Carnegie Mellon University, September 1992.

    Google Scholar 

  26. Randy Pollack. Closure under alpha-conversion. Laboratory for Foundations of Computer Science, Department of Computer Science, University of Edinburgh, September 1993.

    Google Scholar 

  27. N. Shankar. A mechanical proof of the Church-Rosser theorem. Journal of the ACM, 35(3):475–522, July 1988.

    Google Scholar 

  28. J. von Wright. Representing higher-order logic proofs in HOL. University of Cambridge Computer Laboratory, July 1993.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Jeffrey J. Joyce Carl-Johan H. Seger

Rights and permissions

Reprints and permissions

Copyright information

© 1994 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Gordon, A.D. (1994). A mechanisation of name-carrying syntax up to alpha-conversion. In: Joyce, J.J., Seger, CJ.H. (eds) Higher Order Logic Theorem Proving and Its Applications. HUG 1993. Lecture Notes in Computer Science, vol 780. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-57826-9_152

Download citation

  • DOI: https://doi.org/10.1007/3-540-57826-9_152

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-57826-0

  • Online ISBN: 978-3-540-48346-5

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics