Pure Type Systems with de Bruijn Indices

Nowadays, type theory has many applications and is used in many different disciplines. Within computer science, logic and mathematics there are many different type systems. They serve several purposes and are formulated in various ways. A general framework called Pure Type Systems (PTSs) has been introduced independently by Terlouw and Berardi in order to provide a unified formalism in which many type systems can be represented. In particular, PTSs allow the representation of the simple theory of types, the polymophic theory of types, the dependent theory of types and various other well-known type systems such as the Edinburgh Logical Frameworks and the Automath system. PTSs are usually presented using variable names. In this article, we present a formulation of PTSs with de Bruijn indices. De Bruijn indices avoid the problems caused by variable names during the implementation of type systems. We show that PTSs with variable names and PTSs with de Bruijn indices are isomorphic. This isomorphism enables us to answer questions about PTSs with de Bruijn indices including confluence, termination (strong normalization) and safety (subject reduction).

[1]  James McKinna,et al.  Pure Type Systems Formalized , 1993, TLCA.

[2]  Thierry Coquand,et al.  The Calculus of Constructions , 1988, Inf. Comput..

[3]  Alonzo Church,et al.  A formulation of the simple theory of types , 1940, Journal of Symbolic Logic.

[4]  Furio Honsell,et al.  A framework for defining logics , 1993, JACM.

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

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

[7]  Fairouz Kamareddine,et al.  On Pi-Conversion in the lambda-Cube and the Combination with Abbreviations , 1999, Ann. Pure Appl. Log..

[8]  Robin Milner,et al.  Definition of standard ML , 1990 .

[9]  Fairouz Kamareddine,et al.  Bridging de Bruijn Indices and Variable Names in Explicit Substitutions Calculi , 1998, Log. J. IGPL.

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

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

[12]  Frank Pfenning,et al.  A Proof of the Church-Rosser Theorem and its Representation in a Logical Framework , 1992 .

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

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

[15]  J. Roger Hindley,et al.  Introduction to combinators and λ-calculus , 1986, Acta Applicandae Mathematicae.