- •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?
24 |
CHAPTER 4. THE NORMALISATION THEOREM |
4.2The weak normalisation theorem
This result states the existence of a normal form | which is necessarily unique | for every term. Its immediate corollary is the decidability of denotational equality. Indeed we have seen that the equation u = v is provable exactly when u; v w for some w; but such w has a normal form, which then becomes the common normal form for u and v. To decide the denotational equality of u and v we proceed thus:
in the rst step, calculate the normal forms of u and v,
in the second step, compare them.
There is perhaps a small di culty hidden in calculating the normal forms, since the reduction is not a deterministic algorithm. That is, for xed t, many conversions (but only a nite number) are possible on the subterms of t. So the theorem states the possibility of nding the normal form by appropriate conversions, but does not exclude the possibility of bad reductions, which do not lead to a normal form. That is why one speaks of weak normalisation.
Having said that, it is possible to nd the normal form by enumerating all the reductions in one step, all the reductions in two steps, and so on until a normal form is found. This inelegant procedure is justi ed by the fact that there are onlynitely many reductions of length n starting from a xed term t.
The strong normalisation theorem will simplify the situation by guaranteeing that all normalisation strategies are good, in the sense they all lead to the normal form. Obviously, some are more e cient than others, in terms of the number of steps, but if one ignores this (essential) aspect, one always gets to the result!
4.3Proof of the weak normalisation theorem
The degree @(T ) of a type is de ned by:
@(Ti) = 1 if Ti is atomic.
@(U V ) = @(U!V ) = max(@(U); @(V )) + 1.
The degree @(r) of a redex is de ned by:
@( 1hu; vi) = @( 2hu; vi) = @(U V ) where U V is the type of hu; vi.
@(( x: v) u) = @(U!V ) where U!V is the type of ( x: v).
4.3. PROOF OF THE WEAK NORMALISATION THEOREM |
25 |
The degree d(t) of a term is the sup of the degrees of the redexes it contains. By convention, a normal term (i.e. one containing no redex) has degree 0.
NB A redex r has two degrees: one as redex, another as term, for the redex may contain others; the second degree is greater than or equal to the rst: @(r) d(r).
4.3.1Degree and substitution
Lemma If x is of type U then d(t[u=x]) max(d(t); d(u); @(U)).
Proof Inside t[u=x], one nds:
the redexes of t (in which x has become u)
the redexes of u (proliferated according to the occurrences of x)
possibly new redexes, in the case where x appears in a context 1x
(respectively 2x or x v) and u is |
hu0; u00i |
(respectively hu0; u00i or y: u0). |
These new redexes have the degree |
of U. |
|
4.3.2Degree and conversion
First note that, if r is a redex of type T , then @(r) > @(T ) (obvious).
Lemma If t u then d(u) d(t).
Proof We need only consider the case where there is only one conversion step: u is obtained from t by replacing r by c. The situation is very close to that of lemma 4.3.1, i.e. in u we nd:
redexes which were in t but not in r, modi ed by the replacement of r by c (which does not a ect the degree),
redexes of c. But c is obtained by simpli cation of r, or by an internal
substitution in r: ( x: s) s0 becomes s[s0=x] and lemma 4.3.1 tells us that d(c) max(d(s); d(s0); @(T )), where T is the type of x. But @(T ) < d(r), so d(c) d(r).
redexes which come from the replacement of r by c. The situation is the same as in lemma 4.3.1: these redexes have degree equal to @(T ) where T
is the type of r, and @(T ) < @(r). |
|