- •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?
42 |
CHAPTER 6. STRONG NORMALISATION THEOREM |
The deep reason why reducibility works where combinatorial intuition fails is its logical complexity. Indeed, we have:
t 2 REDU!V |
i |
8u (u 2 REDU ) t u 2 REDV ) |
We see that in passing to U!V , REDU has been negated, and a universal quanti er has been added. In particular the normalisation argument cannot be directly formalised in arithmetic because t 2 REDT is not expressed as an arithmetic formula in t and T .
6.2Properties of reducibility
First we introduce a notion of neutrality: a term is called neutral if it is not of the form hu; vi or x: v. In other words, neutral terms are those of the form:
x 1t 2t t u
The conditions that interest us are the following:
(CR 1) If t 2 REDT , then t is strongly normalisable.
(CR 2) If t 2 REDT and t t0, then t0 2 REDT .
(CR 3) If t is neutral, and whenever we convert a redex of t we obtain a term t0 2 REDT , then t 2 REDT .
As a special case of the last clause:
(CR 4) If t is neutral and normal, then t 2 REDT .
We shall verify by induction on the type that RED satis es these conditions.
6.2.1Atomic types
A term of atomic type is reducible i it is strongly normalisable. So we must show that the set of strongly normalisable terms of type T satis es the three conditions:
(CR 1) is a tautology.
(CR 2) If t is strongly normalisable then every term t0 to which t reduces is also.
(CR 3) A reduction path leaving t must pass through one of the terms t0, which are strongly normalisable, and so is nite. In fact, it is immediate that (t) (see 4.4) is equal to the greatest of the numbers (t0) + 1, as t0 varies over the (one-step) conversions of t.
6.2. PROPERTIES OF REDUCIBILITY |
43 |
6.2.2Product type
A term of product type is reducible i its projections are.
(CR 1) Suppose that t, of type U V , is reducible; then 1t is reducible and by induction hypothesis (CR 1) for U, 1t is strongly normalisable. Moreover(t) ( 1t), since to any reduction sequence t; t1; t2; : : :, one can apply 1 to construct a reduction sequence 1t; 1t1; 1t2; : : : (in which the 1 is not reduced). So (t) is nite, and t is strongly normalisable.
(CR 2) If t |
t0, then |
1t |
1t0 and 2t |
2t0. |
As t is reducible by |
hypothesis, so are 1t and 2t. The induction hypothesis (CR 2) for U and |
|||||
V says that the 1t0 |
and 2t0 |
are reducible, and so t0 |
is reducible. |
(CR 3) Let t be neutral and suppose all the t0 one step from t are reducible. Applying a conversion inside 1t, the result is a 1t0, since 1t cannot itself be a redex (t is not a pair), and 1t0 is reducible, since t0 is. But as 1t is neutral, and all the terms one step from 1t are reducible, the induction hypothesis (CR 3) for U ensures that 1t is reducible. Likewise 2t, and so t is reducible.
6.2.3Arrow type
A term of arrow type is reducible i all its applications to reducible terms are reducible.
(CR 1) If t is reducible of type U!V , let x be a variable of type U; the induction hypothesis (CR 3) for U says that the term x, which is neutral and normal, is reducible. So t x is reducible. Just as in the case of the product type, we remark that (t) (t x). The induction hypothesis (CR 1) for V guarantees that (t x) is nite, and so (t) is nite, and t is strongly normalisable.
(CR 2) If t |
t0 and t is reducible, take u reducible of type U; |
then t u is |
|
reducible and t u |
t0 u. The induction hypothesis (CR 2) for V |
gives that |
|
t0 u is reducible. |
So t0 is reducible. |
|
(CR 3) Let t be neutral and suppose all the t0 one step from t are reducible. Let u be a reducible term of type U; we want to show that t u is reducible. By induction hypothesis (CR 1) for U, we know that u is strongly normalisable; so we can reason by induction on (u).
In one step, t u converts to
t0 u with t0 one step from t; but t0 is reducible, so t0 u is.