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.
Preview
Unable to display preview. Download preview PDF.
References
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.
Samson Abramsky. The lazy lambda calculus. In David Turner, editor, Research Topics in Functional Programming, pages 65–116. Addison-Wesley, 1990.
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.
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.
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.
Alonzo Church and J. B. Rosser. Some properties of conversion. Transactions of the American Mathematical Society, 36(3):472–482, May 1936.
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.
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.
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.
M. J. C. Gordon and T. F. Melham, editors. Introduction to HOL: A theoremproving environment for higher-order logic. Cambridge University Press, 1993.
Michael J. C. Gordon. Mechanizing programming logics in higher order logic. Technical Report 145, University of Cambridge Computer Laboratory, September 1988.
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.
J. Roger Hindley and Jonathan P. Seldin. Introduction to Combinators and λ-Calculus. Cambridge University Press, 1986.
Gérard Huet. Residual theory in λ-calculus: A complete Gallina development. Preprint, 1992.
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.
T. F. Melham. The HOL pred_sets Library. University of Cambridge Computer Laboratory, February 1992.
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.
Thomas F. Melham. A mechanized theory of the π-calculus in HOL. Technical Report 244, University of Cambridge Computer Laboratory, January 1992.
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.
Robin Milner, Mads Tofte, and Robert Harper. The Definition of Standard ML. MIT Press, Cambridge, Mass., 1990.
Monica Nesi. A formalization of the process algebra CCS in higher order logic. Technical Report 278, University of Cambridge Computer Laboratory, December 1992.
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.
Lawrence C. Paulson. ML for the Working Programmer.Cambridge University Press, 1991.
Lawrence C. Paulson. The Isabelle reference manual. Internal report, University of Cambridge Computer Laboratory, 1992.
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.
Randy Pollack. Closure under alpha-conversion. Laboratory for Foundations of Computer Science, Department of Computer Science, University of Edinburgh, September 1993.
N. Shankar. A mechanical proof of the Church-Rosser theorem. Journal of the ACM, 35(3):475–522, July 1988.
J. von Wright. Representing higher-order logic proofs in HOL. University of Cambridge Computer Laboratory, July 1993.
Author information
Authors and Affiliations
Editor information
Rights 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