 •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 CurryHoward 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 FunctionSpace
 •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 CurryHoward Isomorphism
 •Coherence Semantics of the Sum
 •Direct sum
 •Lifted sum
 •dIdomains
 •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?
44 

CHAPTER 6. STRONG NORMALISATION THEOREM 


t u0, with u0 
one step from u. u0 is reducible by induction hypothesis 




(CR 2) for U, and (u0) < (u); so the induction hypothesis for u0 tells 


us that t u0 
is reducible. 

There is no other possibility, for t u cannot itself be a redex (t is not 


of the form x: v). 


In every case, we have seen that the neutral term t u converts into reducible 

terms only. The induction hypothesis (CR 3) for V 
allows us to conclude 

that t u is reducible, and so t is reducible. 

6.3Reducibility theorem
6.3.1Pairing
Lemma If u and v are reducible, then so is hu; vi.
Proof Because of (CR 1), we can reason by induction on (u) + (v) to show that 1hu; vi is reducible. This term converts to:
u, which is reducible.
1hu0; vi, with u0 one step from u. u0 is reducible by (CR 2), and we have(u0) < (u); so the induction hypothesis tells us that this term is reducible.
1hu; v0i, with v0 one step from v: this term is reducible for similar reasons.
In every case, the neutral term 12hu; vi converts to reducible terms only, and by 

(CR 3) it is reducible. Likewise hu; vi, and so hu; vi is reducible. 

6.3.2 Abstraction
Lemma If for all reducible u of type U, v[u=x] is reducible, then so is x: v.
Proof We want to show that ( x: v) u is reducible for all reducible u. Again we reason by induction on (v) + (u).
The term ( x: v) u converts to
v[u=x], which is reducible by hypothesis.
( x: v0) u with v0 one step from v; so v0 is reducible, (v0) < (v), and the induction hypothesis tells us that this term is reducible.
( x: v) u0 with u0 one step from u: u0 is reducible, (u0) < (u), and we conclude similarly.
In every case the neutral term ( x: v) u converts to reducible terms only, and by
(CR 3) it is reducible. So x: v is reducible. 

6.3. REDUCIBILITY THEOREM 
45 
6.3.3The theorem
Now we can prove the
Theorem All terms are reducible.
Hence, by (CR 1), we have the
Corollary All terms are strongly normalisable.
In the proof of the theorem, we need a stronger induction hypothesis to handle the case of abstraction. This is the purpose of the following proposition, from which the theorem follows by putting ui = xi.
Proposition Let t be any term (not assumed to be reducible), and suppose all the free variables of t are among x1; : : : ; xn of types U1; : : : ; Un. If u1; : : : ; un are reducible terms of types U1; : : : ; Un then t[u1=x1; : : : ; un=xn] is reducible.
Proof By induction on t. We write t[ u=x] for t[u1=x1; : : : ; un=xn].
1.t is xi: one has to check the tautology \if ui is reducible, then ui is reducible"; details are left to the reader.
2.t is 1w: by induction hypothesis, for every sequence u of reducible terms,
w[ u=x] is reducible. That means that 1(w[ u=x]) is reducible, but this term is nothing other than 1w[ u=x] = t[ u=x].
3.t is 2w: as 2.
4.t is hv; wi: by induction hypothesis both v[ u=x] and w[ u=x] are reducible.
Lemma 6.3.1 says that t[ u=x] = hv[ u=x]; w[ u=x]i is reducible.
5. 
t is w v: by induction 
hypothesis w[ u=x] 
and v[ u=x] 
are reducible, 
and 


so (by de nition) is w[ u=x] (v[ u=x]); 
but this term is 
nothing other 
than 


t[ u=x]. 





6. 
t is y: w of type V !W : by induction hypothesis, w[ u=x; v=y] is reducible 


for all v of type V . 
Lemma 6.3.2 
says 
that t[ u=x] = y: (w[ u=x]) is 


reducible. 





Chapter 7
G•odel's system T
The extremely rudimentary type system we have studied has very little expressive power. For example, can we use it to represent the integers or the booleans, and if so can we represent su ciently many functions on them? The answer is clearly no.
To obtain more expressivity, we are inexorably led to the consideration of other schemes: new types, or new terms, often both together. So it is quite natural that systems such as that of G•odel appear, which we shall look at brie y. That said, we come up against a twofold di culty:
Systems like T are a step backwards from the logical viewpoint: the new schemes do not correspond to proofs in an extended logical system. In particular, that makes it di cult to study them.
By proposing improvements of expressivity, these systems suggest the possibility of further improvements. For example, it is well known that the language PASCAL does not have the type of lists built in! So we are led to endless improvement, in order to be able to consider, besides the booleans, the integers, lists, trees, etc. Of course, all this is done to the detriment of conceptual simplicity and modularity.
The system F resolves these questions in a very satisfying manner, as it will be seen that the addition of a new logical scheme allows us to deal with common data types. But rst, let us concentrate on the system T, which already has considerable expressive power.
46