Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Logic and CS / Girard. Proofs and Types.pdf
Скачиваний:
29
Добавлен:
10.08.2013
Размер:
947.15 Кб
Скачать
 114 CHAPTER 14. STRONG NORMALISATION FOR F

# 14.1Idea of the proof

We would like to say that t of type X: T is reducible i for all types U, t U is reducible (of type T [U=X]). For example, t of type X: X would be reducible i t U is reducible for all U. But U is arbitrary | it may be X: X | and we need to know the meaning of reducibility of type U before we can de ne it! We shall never get anywhere like this. Moreover, if this method were practicable, it would be applicable to variants of system F for which normalisation fails.

## 14.1.1Reducibility candidates

To solve this problem, we shall introduce reducibility candidates. A reducibility candidate of type U is an arbitrary reducibility predicate (set of terms of type U) satisfying the conditions (CR 1-3) of chapter 6. Among all the \candidates", the \true" reducibility predicate for U is to be found.

A term of type X: T is reducible when, for every type U and every reducibility candidate R of type U, the term t U is reducible of type T [U=X], where reducibility for this type is de ned taking R as the de nition of reducibility for U. Of course, if R is the \true" reducibility of type U, then the de nition we shall be using for T [U=X] will also be the \true" one. In other words, everything works as if the rule of universal abstraction (which forms functions de ned for arbitrary types) were so uniform that it operates without any information at all about its arguments.

Before going on with the details, let us look informally at how the universal

 identity X: xX : x will be reducible. It is of type X: X!X, and a term t of this type is reducible i whatever reducibility candidate R we take for U,

the term t U is reducible of type U!U, this reducibility being de ned by means of R. Now, t U is reducible of type U!U if for all u reducible of type U (i.e. u 2 R) t Uu is reducible of type U (i.e. t Uu 2 R). We are led to showing that u 2 R ) t Uu 2 R; but R satis es (CR 1-3) and t Uu is neutral, so this implication follows from manipulation with (CR 3).

## 14.1.2Remarks

The choice of (CR 1-3) is crucial. We need to identify some useful induction hypotheses on a set of terms which is otherwise arbitrary, and they must be preserved by the construction of the \true reducibility". These conditions were originally found by trial and error. In linear logic, reducibility candidates appear much more naturally, from a notion of orthogonality on terms [Gir87].

 14.1. IDEA OF THE PROOF 115 The case of the universal type X: V introduces a quanti cation over sets of

terms (in fact over all reducibility candidates). Thus we make more and more complex de nitions of reducibility, and there is no second order formula RED(T; t) which says \t is reducible of type T ". This is completely analogous to what happens at the rst order, with system T.

But the main point is that, in order to interpret the universal application scheme t U, we have to substitute in the de nition of reducibility for t, not an arbitrary candidate, but the one we get by induction on the construction of U. So we must be able to de ne a set of terms of type U by a formula, and this uses the comprehension scheme in an essential way.

For second order systems, unlike the simpler ones, there is no known alternative proof. For example, normalisation for the Theory of Constructions [Coquand] | an even stronger system | can be shown by an adaptation of the method presented here.

14.1.3De nitions

A term t is neutral if it does not start with an abstraction symbol, i.e. if it has one of the following forms:

 x t u t U

A reducibility candidate of type U is a set R of terms of type U such that:

(CR 1) If t 2 R, then t is strongly normalisable.

(CR 2) If t 2 R and t t0, then t0 2 R.

(CR 3) If t is neutral, and whenever we convert a redex of t we obtain a term t0 2 R, then t 2 R.

From (CR 3) we have in particular:

(CR 4) If t is neutral and normal, then t 2 R.

This shows that R is never empty, because it always contains the variables of type U.

For example, the set of strongly normalisable terms of type U is a reducibility candidate (see 6.2.1).