In this article, we introduce a ?-notation that is useful for many concepts of the ?-calculus. The new notation is a simple translation of the classical one. Yet, it provides many nice advantages. First, we show that definitions such as compatibility, the heart of a term and s-redexes become simpler in item notation. Second, we show that with this item notation, reduction can be generalised in a nice way. We find a relation s which extends ?s, which is Church-Rosser and strongly normalising. This reduction relation may be the way to new reduction strategies. In classical notation, it is much harder to present this generalised reduction in a convincing manner. Third, we show that the item notation enables one to represent in a very simple way the canonical type t(G,A) of a term A in context G. This canonical type plays the role of a preference type and can be used to split G A : B into the two parts G A and t(G,A) = B. This means that the question is A typable with a type B is divided into two questions: is A typable and is B in the class of types of A. It turns out that calculating this preference type of A in item notation is a straightforward operation. One just goes through A from left to right performing very trivial steps on the items till the end variable (or heart) of A is reached. Fourth, we can with this item notation, find the parts of a term t relevant for a variable occurrence x° in terms of binding, typing and substitution. Again, this part of t, t | x°, is very easy to find in item notation. Just take the part of t to the left of x° and remove all unmatched parentheses. Fifth, we reflect on the status of variables and show that indeed it is easy to study this status in item notation. Finally, we show that for a substitution calculus a la de Bruijn with open terms, it is simpler to describe normal forms using item notation. There are further advantages of item notation that are studied elsewhere. For example, in [9], we show that explicit substitution is easily built in item notation and that global and local strategies of substitution can be accommodated. In [10], we show that with item notation, one can give a unified approach to type theory. An implementation of this item notation with most of the concepts discussed in this paper can be found in [15].
[1]
Pierre-Louis Curien.
Categorical Combinators, Sequential Algorithms, and Functional Programming
,
1993,
Progress in Theoretical Computer Science.
[2]
J. Roger Hindley,et al.
To H.B. Curry: Essays on Combinatory Logic, Lambda Calculus, and Formalism
,
1980
.
[3]
F. Dick.
A survey of the project Automath
,
1980
.
[4]
Alejandro Ríos,et al.
A Lambda-Calculus à la de Bruijn with Explicit Substitutions
,
1995,
PLILP.
[5]
Rp Rob Nederpelt.
Type systems : basic ideas and applications
,
1990
.
[6]
N. G. de Bruijn,et al.
Algorithmic definition of lambda-typed lambda calculus
,
1993
.
[7]
Martín Abadi,et al.
Explicit substitutions
,
1989,
POPL '90.
[8]
de Ng Dick Bruijn,et al.
The mathematical language AUTOMATH, its usage, and some of its extensions
,
1970
.
[9]
de Ng Dick Bruijn.
Lambda calculus notation with nameless dummies, a tool for automatic formula manipulation, with application to the Church-Rosser theorem
,
1972
.
[10]
Fairouz Kamareddine,et al.
A unified approach to type theory through a refined lambda-calculus
,
1992
.
[11]
Fairouz Kamareddine,et al.
On Stepwise Explicit Substitution
,
1993,
Int. J. Found. Comput. Sci..
[12]
de Ng Dick Bruijn.
Generalizing Automath by means of a lambda-typed lambda calculus
,
1987
.
[13]
Fairouz Kamareddine,et al.
The Barendregt Cube with Definitions and Generalised Reduction
,
1996,
Inf. Comput..
[14]
de Ng Dick Bruijn.
A namefree lambda calculus with facilities for internal definition of expressions and segments
,
1978
.
[15]
Henk Barendregt,et al.
The Lambda Calculus: Its Syntax and Semantics
,
1985
.