Explicit substitutions calculi are formal systems that implement $\beta$-reduction by means of an internal substitution operator. Thus, in that calculi it is possible to delay the application of a substitution to a term or to consider terms with partially applied substitutions. This feature is useful, for instance, to represent incomplete proofs in type based proof systems. The $\lambda_{\sigma}$-calculus of explicit substitutions proposed by Abadi, Cardelli, Curien and Levy gives an elegant way to deal with management of variable names and substitutions of $\lambda$-calculus. However, $\lambda_{\si- gma}$ does not preserve strong normalisation of $\lambda$-calculus and it is not a confluent system. Typed variants of $\lambda_{\sigma}$ without composition are strongly normalising but not confluent, while variants with composition are confluent but do not preserve strong normalisation. Neither of them enjoys both properties. In this paper we propose the $\lambda_{\zeta}$-calculus an we present the full proofs of its main properties. This is, as far as we know, the first confluent calculus of explicit substitutions that preserves strong normalisation.
[1]
Teruo Hikita,et al.
A Rewriting System for Categorical Combinators with Multiple Arguments
,
1990,
SIAM J. Comput..
[2]
C. Kirchner,et al.
Higher-order unification via explicit substitutions Extended Abstract
,
1995,
LICS 1995.
[3]
Paul-Andr.
Typed -calculi with Explicit Substitutions May Not Terminate
,
1995
.
[4]
de Ng Dick Bruijn.
Lambda calculus notation with nameless dummies, a tool for automatic formula manipulation, with application to the Church-Rosser theorem
,
1972
.
[5]
Pierre Lescanne,et al.
From λσ to λν: a journey through calculi of explicit substitutions
,
1994,
POPL '94.
[6]
Lena Magnusson,et al.
The implementation of ALF : a proof editor based on Martin-Löf's monomorphic type theory with explicit substitution
,
1994
.