- •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?
116 |
CHAPTER 14. STRONG NORMALISATION FOR F |
If R and S are reducibility candidates of types U and V , we can de ne a set R ! S of terms of type U!V by:
t 2 R ! S |
i |
8u (u 2 R ) t u 2 S) |
By 6.2.3, we know that R ! S is a reducibility candidate of type U!V .
14.2Reducibility with parameters
Let |
T [X] be |
a type, where we understand that X contains |
(at least) |
all |
the |
||
free |
variables |
of T . Let U be |
a sequence of types, of the |
same |
length; |
then |
|
we |
can de ne |
by simultaneous |
substitution a type T [U=X]. |
Now |
let |
R be a |
sequence of reducibility candidates of corresponding types; then we can de ne a set REDT [R=X] (parametric reducibility) of terms of type T [U=X] as follows:
1.If T = Xi, then REDT [R=X] = Ri;
2.If T = V !W , then REDT [R=X] = REDV [R=X] ! REDW [R=X];
3. If T = Y: W then REDT [R=X] is the set of terms t of type T [U=X] such that, for every type V and reducibility candidate S of this type, then t V 2 REDW [R=X; S=Y ].
Lemma REDT [R=X] is a reducibility candidate of type T [U=X].
Proof By induction on T : the only case to consider is T = Y: W .
(CR 1) If t 2 REDT [R=X], take an arbitrary type V and an arbitrary candidate S of type V (for example, the strongly normalisable terms of type V ). Then t V 2 REDW [R=X; S=Y ], and so, by induction hypothesis (CR 1), we know that t V is strongly normalisable. But (t) (t V ), so t is strongly normalisable.
(CR 2) If t 2 REDT [R=X] and t t0 then |
for all types V and candidate S, |
we have t V 2 REDW [R=X; S=Y ] and t V |
t0 V . By induction hypothesis |
(CR 2) we know that t0 V 2 REDW [R=X; S=Y ]. So t0 2 REDT [R=X]. |
(CR 3) Let t be neutral and suppose all the t0 one step from t are in REDT [R=X]. Take V and S: applying a conversion inside t V , the result is a t0 V since t is neutral, and t0 V is in REDW [R=X; S=Y ] since t0 is. By induction hypothesis (CR 3) we see that t V 2 REDW [R=X; S=Y ], and so t 2 REDT [R=X].
14.2. REDUCIBILITY WITH PARAMETERS |
117 |
14.2.1Substitution
The following lemma says that parametric reducibility behaves well with respect to substitution:
Lemma REDT [V=Y ][R=X] = REDT [R=X; REDV [R=X]=Y ]
Here we make hidden use of the comprehension scheme, since, in order to be able to use the predicate REDV [R=X] as a parameter, it is necessary to know that it is a set.
This lemma is proved by a straightforward induction on T . The only di culty was to formulate it precisely!
14.2.2Universal abstraction
Lemma If for every type V and candidate S, w[V=Y ] 2 REDW [R=X; S=Y ], thenY: w 2 RED Y: W [R=X].
Proof We have to show that ( Y: w) V 2 REDW [R=X; S=Y ] for every type V and candidate S of type V . We argue by induction on (w). Converting a redex of ( Y: w) V gives:
( Y: w0) V with (w0) < (w), which is in REDW [R=X; S=Y ] by the induction hypothesis.
w[V=Y ] which is in REDW [R=X; S=Y ] by assumption.
So the result follows from (CR 3). |
|
14.2.3Universal application
Lemma If t 2 RED Y: W [R=X], then t V 2 REDW [V=Y ][R=X] for every type V .
Proof By hypothesis t V 2 REDW [R=X; S=Y ] for every candidate S. |
We just |
take S = REDV [R=X] and the result follows from lemma 14.2.1. |
|