A Meta Lambda Calculus with Cross-Level Computation

We propose meta lambda calculus Lambda-* as a basic model of textual substitution via metavariables. The most important feature of the calculus is that every beta-redex can be reduced regardless of whether the beta-redex contains meta-level variables or not. Such a meta lambda calculus has never been achieved before due to difficulty to manage binding structure consistently with alpha-renaming in the presence of meta-level variables. We overcome the difficulty by introducing a new mechanism to deal with substitution and binding structure in a systematic way without the notion of free variables and alpha-renaming. Calculus Lambda-* enables us to investigate cross-level terms that include a certain type of level mismatch. Cross-level terms have been regarded as meaningless terms and left out of consideration thus far. We find that some cross-level terms behave as quotes and `eval' command in programming languages. With these terms, we show a procedural language as an application of the calculus, which sheds new light on the notions of stores and recursion via meta-level variables.

[1]  Frank Pfenning,et al.  A modal foundation for meta-variables , 2003, MERLIN '03.

[2]  Martín Abadi,et al.  Explicit substitutions , 1989, POPL '90.

[3]  de Ng Dick Bruijn,et al.  Lambda calculus notation with nameless dummies, a tool for automatic formula manipulation, with application to the Church-Rosser theorem , 1972 .

[4]  Frank Pfenning,et al.  Contextual modal type theory , 2008, TOCL.

[5]  Claude Kirchner,et al.  Higher-order unification via explicit substitutions , 1995, Proceedings of Tenth Annual IEEE Symposium on Logic in Computer Science.

[6]  Stéphane Lengrand,et al.  WITHDRAWN: Corrigendum to “The lambda-context calculus (extended version)” [Inform. and Comput. 207 (12) (2009) 1369–1400] , 2012 .

[7]  Murdoch James Gabbay,et al.  The lambda-context calculus (extended version) , 2009, Inf. Comput..

[8]  Murdoch James Gabbay,et al.  Two-level Lambda-calculus , 2009, Electron. Notes Theor. Comput. Sci..

[9]  Atsushi Igarashi,et al.  Calculi of meta-variables , 2008, Frontiers of Computer Science in China.

[10]  Laurent Dami,et al.  A Lambda-Calculus for Dynamic Binding , 1998, Theor. Comput. Sci..

[11]  Murdoch James Gabbay A new calculus of contexts , 2005, PPDP '05.

[12]  Brigitte Pientka,et al.  Multi-level Contextual Type Theory , 2011, LFMTP.

[13]  Daisuke Bekki,et al.  Representing Covert Movements by Delimited Continuations , 2009, JSAI-isAI Workshops.

[14]  Atsushi Ohori,et al.  A typed context calculus , 2001, Theor. Comput. Sci..

[15]  Rowan Davies,et al.  A temporal-logic approach to binding-time analysis , 1995, Proceedings 11th Annual IEEE Symposium on Logic in Computer Science.

[16]  Daisuke Bekki Monads and Meta-lambda Calculus , 2008, JSAI.

[17]  G. Winskel The formal semantics of programming languages , 1993 .

[18]  Yukiyoshi Kameyama,et al.  A Simply Typed Context Calculus with First-class Environments , 2001, J. Funct. Log. Program..