- •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?
Chapter 4
The Normalisation Theorem
This chapter concerns the two results which ensure that the typed -calculus behaves well computationally. The Normalisation Theorem provides for the existence of a normal form, whilst the Church-Rosser property guarantees its
uniqueness. In fact we shall simply state |
the |
latter without |
proof, since it |
is not really a matter of type theory and |
is |
well covered in |
the literature, |
e.g. [Barendregt]. |
|
|
|
The normalisation theorem has two forms:
a weak one (there is some terminating strategy for normalisation), which we shall prove in this chapter,
a strong one (all possible strategies for normalisation terminate), proved in chapter 6.
4.1The Church-Rosser property
This property states the uniqueness of the normal form, independently of its existence. In fact, it has a meaning for calculi | such as untyped -calculus | where the normalisation theorem is false.
Theorem If t u; v one can nd w such that u; v w.
t
@
u |
R@ v |
@ |
|
@Rw
22
4.1. THE CHURCH-ROSSER PROPERTY |
23 |
Corollary A term t has at most one normal form.
Proof If t u; v normal, then u; v |
w for some w, but since u; v are normal, |
|
they cannot be reduced except to themselves, so u = w = v. |
|
The Church-Rosser theorem is rather delicate to prove (at least if we try to do it by brute force). It can be stated for a great variety of systems and its proof is always much the same.
An immediate corollary of Church-Rosser is the consistency of the calculus: it is not the case that every equation u = v (with u and v of the same type) is deducible from the equations of 3.2. Indeed, let us note that:
If u v then the equality u = v is derivable from 3.2 and the general axioms for equality.
Conversely, if from 3.2 and the axioms for equality one can deduce u = v,
then it is easy to see that there are terms u = t0; t1; : : : ; t2n 1; t2n = v such that, for i = 0; 1; :::; n 1, we have t2i; t2i+2 t2i+1. By repeated
application of the Church-Rosser theorem, we obtain the existence of w such |
|
that u; v |
w. |
u = t0 |
|
t2 |
: : : |
t2n 2 |
t2n = v |
|
@ |
|
@ |
|
|
@ |
|
R@ |
|
R@ |
|
|
R@ |
|
|
t1 |
t3 |
|
t2n 3 |
t2n 1 |
|
|
@ |
|
|
@ |
|
|
|
R@ |
|
|
R@ |
|
|
|
|
|
|
|
|
|
|
|
@ |
|
|
|
|
|
|
R@ |
|
|
|
|
w
Now, if u and v are two distinct normal forms of the same type (for example two distinct variables) no such w exists, so the equation u = v cannot be proved. So Church-Rosser shows the denotational consistency of the system.