Confluence and Preservation of Strong Normalisation in an Explicit Substitutions Calculus

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.