- •Sense, Denotation and Semantics
- •Sense and denotation in logic
- •The algebraic tradition
- •The syntactic tradition
- •The two semantic traditions
- •Tarski
- •Heyting
- •Natural Deduction
- •The calculus
- •The rules
- •Interpretation of the rules
- •The Curry-Howard Isomorphism
- •Lambda Calculus
- •Types
- •Terms
- •Operational significance
- •Conversion
- •Description of the isomorphism
- •Relevance of the isomorphism
- •The Normalisation Theorem
- •The weak normalisation theorem
- •Proof of the weak normalisation theorem
- •Degree and substitution
- •Degree and conversion
- •Conversion of maximal degree
- •Proof of the theorem
- •The strong normalisation theorem
- •Sequent Calculus
- •The calculus
- •Sequents
- •Structural rules
- •The intuitionistic case
- •Logical rules
- •Some properties of the system without cut
- •The last rule
- •Subformula property
- •Asymmetrical interpretation
- •Sequent Calculus and Natural Deduction
- •Properties of the translation
- •Strong Normalisation Theorem
- •Reducibility
- •Properties of reducibility
- •Atomic types
- •Product type
- •Arrow type
- •Reducibility theorem
- •Pairing
- •Abstraction
- •The theorem
- •The calculus
- •Types
- •Terms
- •Intended meaning
- •Conversions
- •Normalisation theorem
- •Expressive power: examples
- •Booleans
- •Integers
- •Expressive power: results
- •Canonical forms
- •Representable functions
- •Coherence Spaces
- •General ideas
- •Coherence Spaces
- •The web of a coherence space
- •Interpretation
- •Stable functions
- •Parallel Or
- •Direct product of two coherence spaces
- •The Function-Space
- •The trace of a stable function
- •Representation of the function space
- •The Berry order
- •Partial functions
- •Denotational Semantics of T
- •Simple typed calculus
- •Types
- •Terms
- •Properties of the interpretation
- •Booleans
- •Integers
- •Sums in Natural Deduction
- •Defects of the system
- •Standard conversions
- •The need for extra conversions
- •Subformula Property
- •Extension to the full fragment
- •Commuting conversions
- •Properties of conversion
- •The associated functional calculus
- •Empty type
- •Sum type
- •Additional conversions
- •System F
- •The calculus
- •Comments
- •Representation of simple types
- •Booleans
- •Product of types
- •Empty type
- •Sum type
- •Existential type
- •Representation of a free structure
- •Free structure
- •Representation of the constructors
- •Induction
- •Representation of inductive types
- •Integers
- •Lists
- •Binary trees
- •Trees of branching type U
- •The Curry-Howard Isomorphism
- •Coherence Semantics of the Sum
- •Direct sum
- •Lifted sum
- •dI-domains
- •Linearity
- •Characterisation in terms of preservation
- •Linear implication
- •Linearisation
- •Linearised sum
- •Tensor product and units
- •Cut Elimination (Hauptsatz)
- •The key cases
- •The principal lemma
- •The Hauptsatz
- •Resolution
- •Strong Normalisation for F
- •Idea of the proof
- •Reducibility candidates
- •Remarks
- •Reducibility with parameters
- •Substitution
- •Universal abstraction
- •Universal application
- •Reducibility theorem
- •Representation Theorem
- •Representable functions
- •Numerals
- •Total recursive functions
- •Provably total functions
- •Proofs into programs
- •Formulation of HA2
- •Translation of HA2 into F
- •Representation of provably total functions
- •Semantics of System F
- •What is Linear Logic?
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).