- •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?
26 |
CHAPTER 4. THE NORMALISATION THEOREM |
4.3.3Conversion of maximal degree
Lemma Let r be a redex of maximal degree n in t, and suppose that all the redexes strictly contained in r have degree less than n. If u is obtained from t by converting r to c then u has strictly fewer redexes of degree n.
Proof When the conversion is made, the following things happen:
The redexes outside r remain.
The redexes strictly inside r are in general conserved, but sometimes
proliferated: for example if one replaces ( x: hx; xi) s by hs; si, the redexes of s are duplicated. The hypothesis made does not exclude duplication, but it is limited to degrees less than n.
The redex r is |
destroyed and possibly replaced by some redexes of strictly |
smaller degree. |
|
4.3.4Proof of the theorem
If t is a term, consider (t) = (n; m) with
n = d(t) m = number of redexes of degree n
Lemma 4.3.3 says that it is possible to choose a redex r of t in such a way that, after conversion of r to c, the result t0 satis es (t0) < (t) for the lexicographic
order, i.e. if (t0) = (n0; m0) then n0 < n or (n0 = n and m0 < m). |
So the result is |
established by a double induction. |
|
4.4The strong normalisation theorem
The weak normalisation theorem is in fact a bit better than its statement leads us to believe, because we have a simple algorithm for choosing at each step an appropriate redex which leads us to the normal form. Having said this, it is interesting to ask whether all normalisation strategies converge.
A term t is strongly normalisable when there is no in nite reduction sequence beginning with t.
4.4. THE STRONG NORMALISATION THEOREM |
27 |
Lemma t is strongly normalisable i there is a number (t) which bounds the length of every normalisation sequence beginning with t.
Proof From the existence of (t), it follows immediately that t is strongly normalisable.
The converse uses K•onig's lemma1: one can represent a sequence of conversions by specifying a redex r0 of t0, then a redex r1 of t1, and so on. The possible sequences can then be arranged in the form of a tree, and the fact that a term has only a nite number of subterms assures us that the tree is nitely-branching. Now, the strong normalisation hypothesis tells us that the tree has no in nite branch, and by K•onig's lemma, the whole tree must be nite, which gives us the existence of (t).
There are several methods to prove that every term (of the typed -calculus) is strongly normalisable:
internalisation: this consists of a tortuous translation of the calculus into itself in such a way as to prove strong normalisation by means of weak normalisation. Gandy was the rst to use this technique [Gandy].
reducibility: we introduce a property of \hereditary calculability" which allows us to manipulate complex combinatorial information. This is the method we shall follow, since it is the only one which generalises to very complicated situations. This method will be the subject of chapter 6.
1A nitely branching tree with no in nite branch is nite. Unless the branches are labelled (as they usually are), this requires the axiom of Choice.