Bridging de Bruijn Indices and Variable Names in Explicit Substitutions Calculi

Calculi of explicit substitutions have almost always been presented using de Bruijn indices with the aim of avoiding α-conversion and being as close to machines as possible. De Bruijn indices however, though very suitable for the machine, are difficult to human users. This is the reason for a renewed interest in systems of explicit substitutions using variable names. We believe that the study of these systems should not develop without being well-tied to existing work on explicit substitutions. The aim of this paper is to establish a bridge between explicit substitutions using de Bruijn indices and using variable names and to do so, we provide the λt-calculus: a λ-calculus a la de Bruijn which can be translated into a λ-calculus with explicit substitutions written with variables names. We present explicitly this translation and use it to obtain preservation of strong normalisation for λt. Moreover, we show several properties of λt, including confluence on closed terms and efficiency to simulate β-reduction. Furthermore, λt is a good example of a calculus written in the λs-style (cf. [19]) that possesses the updating mechanism of the calculi a la λσ (cf. [1, 7, 26]).

[1]  Fairouz Kamareddine,et al.  The Connuence of the S E -calculus via a Generalized Interpretation Method , 1996 .

[2]  D. Knuth,et al.  Simple Word Problems in Universal Algebras , 1983 .

[3]  César Augusto Munoz Hurtado Confluence and Preservation of Strong Normalisation in an Explicit Substitutions Calculus , 1995 .

[4]  Kristoffer Hogsbro Rose,et al.  Operational reduction models for functional programming languages , 1996, Technical report / University of Copenhagen / Datalogisk institut.

[5]  Fairouz Kamareddine,et al.  A useful ?-notation , 1996 .

[6]  Fairouz Kamareddine,et al.  Extending a lambda-Calculus with Explicit Substitution which Preserves Strong Normalisation Into a Confluent Calculus on Open Terms , 1997, J. Funct. Program..

[7]  HuetGérard Confluent Reductions: Abstract Properties and Applications to Term Rewriting Systems , 1980 .

[8]  C. J. Bloo,et al.  Preservation of strong normalisation in named lambda calculi with explicit substitution and garbage collection , 1995 .

[9]  Pierre Lescanne,et al.  Explicit Substitutions with de Bruijn's Levels , 1995, RTA.

[10]  Herman Geuvers,et al.  Explicit substitution : on the edge of strong normalisation , 1996 .

[11]  Cj Roel Bloo,et al.  Preservation of strong normalisation for explicit substitution , 1995 .

[12]  Kristoffer Høgsbro Rose,et al.  Explicit Cyclic Substitutions , 1992, CTRS.

[13]  César A. Muñoz,et al.  Confluence and preservation of strong normalisation in an explicit substitutions calculus , 1996, Proceedings 11th Annual IEEE Symposium on Logic in Computer Science.

[14]  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 .

[15]  Fairouz Kamareddine,et al.  The S-calculus: Its Typed and Its Extended Versions , 1995 .

[16]  Alejandro Ríos,et al.  A Lambda-Calculus à la de Bruijn with Explicit Substitutions , 1995, PLILP.

[17]  Delia Kesner,et al.  -calculi with Explicit Substitutions and Weak Composition Which Preserve -strong Normalization , 1996 .

[18]  Fairouz Kamareddine,et al.  On Stepwise Explicit Substitution , 1993, Int. J. Found. Comput. Sci..

[19]  Gerard Huet,et al.  Conflunt reductions: Abstract properties and applications to term rewriting systems , 1977, 18th Annual Symposium on Foundations of Computer Science (sfcs 1977).

[20]  Fairouz Kamareddine,et al.  A -calculus a La De Bruijn with Explicit Substitutions 7th International Conference on Programming Languages: Implementations, Logics and Programs, Plilp95, Lncs 982, Pages 45-62 , 1995 .

[21]  de Ng Dick Bruijn A namefree lambda calculus with facilities for internal definition of expressions and segments , 1978 .

[22]  KamareddineFairouz,et al.  Extending a -calculus with explicit substitution which preserves strong normalisation into a confluent calculus on open terms , 1997 .

[23]  Paul-Andr Typed -calculi with Explicit Substitutions May Not Terminate , 1995 .

[24]  Pierre-Louis Curien Categorical Combinators, Sequential Algorithms, and Functional Programming , 1993, Progress in Theoretical Computer Science.

[25]  Henk Barendregt,et al.  The Lambda Calculus: Its Syntax and Semantics , 1985 .

[26]  Pierre Lescanne,et al.  λν, a calculus of explicit substitutions which preserves strong normalisation , 1996, Journal of Functional Programming.

[27]  Thérèse Hardin,et al.  Confluence Results for the Pure Strong Categorical Logic CCL: lambda-Calculi as Subsystems of CCL , 1989, Theor. Comput. Sci..

[28]  Jean-Jacques Lévy,et al.  Confluence properties of weak and strong calculi of explicit substitutions , 1996, JACM.

[29]  Cj Roel Bloo,et al.  Preservation of termination for explicit substitution , 1997 .

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

[31]  Paul-André Melliès Typed lambda-calculi with explicit substitutions may not terminate , 1995, TLCA.

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