- •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 13
Cut Elimination (Hauptsatz)
Gentzen's theorem, one of the most important in logic, is not very far removed from normalisation in natural deduction, which is to a large extent inspired by it. In a slightly modi ed form, it is at the root of languages such as PROLOG. In other words, it is a result which everyone should see proved at least once. However the proof is very delicate and ddly. So we shall begin by pointing out the key cases which it is important to understand. Afterwards we shall develop the detailed proof, whose intricacies are less interesting.
13.1The key cases
The aim is to eliminate cuts of the special form
A ` C; B A0; C ` B0
Cut
A; A0 ` B; B0
where the left premise is a right logical rule and the right premise a left logical rule, so that both introduce the main symbol of C. These cases enlighten the deep symmetries of logical rules, which match each other exactly.
1. R^ and L1^ |
|
|
|
|
|
|
|
||
|
A ` C; B A0 ` D; B0 |
|
A00; C ` B00 |
|
|
||||
0 |
` C ^ D; B; B |
0 |
R^ |
00 |
; C ^ D ` B |
00 |
L1^ |
||
|
A; A |
|
|
A |
|
Cut |
|||
|
|
|
A; A0; A00 ` B; B0; B00 |
|
|||||
|
|
|
|
|
is replaced by
104
13.1. THE KEY CASES |
105 |
A ` C; B A00; C ` B00
Cut
A; A00 ` B; B00
================
A; A0; A00 ` B; B0; B00
where the double bar denotes a certain number of structural rules, in this case weakening and exchange.
2. R^ and L2^ |
|
|
|
|
|
|
|
||
|
A ` C; B A0 ` D; B0 |
|
A00; D ` B00 |
|
|
||||
0 |
` C ^ D; B; B |
0 |
R^ |
00 |
; C ^ D ` B |
00 |
L2^ |
||
|
A; A |
|
|
A |
|
Cut |
|||
|
|
|
A; A0; A00 ` B; B0; B00 |
|
|||||
|
|
|
|
|
is replaced similarly by
A0 ` D; B0 A00; D ` B00
Cut
A0; A00 ` B0; B00
================
A; A0; A00 ` B; B0; B00
3. R1_ and L_ |
|
|
|
|
|
|
|
|
|
||
|
A ` C; B |
|
A0; C ` B0 |
A00; D ` B00 |
|||||||
|
|
R1_ |
|
0 |
00 |
|
0 |
|
00 |
|
L_ |
|
A ` C _ D; B |
|
A |
; A |
; C |
_ D ` B |
; B |
|
Cut |
||
|
A; A0; A00 ` B; B0; B00 |
|
|
|
|||||||
|
|
|
|
|
|
is replaced by
A ` C; B A0; C ` B0
Cut
A; A0 ` B; B0
================
A; A0; A00 ` B; B0; B00
This is the dual of case 1.
106 |
CHAPTER 13. CUT ELIMINATION (HAUPTSATZ) |
4. R2_ and L_ |
|
|
|
|
|
|
|
|
|
||
|
A ` D; B |
|
A0; C ` B0 |
A00; D ` B00 |
|||||||
|
|
R2_ |
|
0 |
00 |
|
0 |
|
00 |
|
L_ |
|
A ` C _ D; B |
|
A |
; A |
; C |
_ D ` B |
; B |
|
Cut |
||
|
A; A0; A00 ` B; B0; B00 |
|
|
|
|||||||
|
|
|
|
|
|
is replaced by
A ` D; B A00; D ` B00
Cut
A; A00 ` B; B00
================
A; A0; A00 ` B; B0; B00
This is the dual of case 2.
|
A; C ` B |
A0 ` C; B0 |
|
|
|||
|
|
R: |
0 |
|
:C ` B |
0 |
L: |
5. R: and L: |
A ` :C; B |
A |
; |
|
Cut |
||
A; A0 ` B; B0 |
|
|
|||||
|
|
|
|
is replaced by
A0 ` C; B0 A; C ` B
Cut
A0; A ` B0; B
==========
A; A0 ` B; B0
Note the switch. |
|
|
|
|
|
|
|
|
||
6. R) and L) |
|
|
|
|
|
|
|
|
||
|
A; C ` D; B |
A0 ` C; B0 |
A00; D ` B00 |
|
||||||
|
|
R) |
0 |
00 |
|
0 |
|
00 |
|
L) |
|
A ` C ) D; B |
A |
; A |
; C ) D ` B |
; B |
|
|
Cut |
||
|
|
|
|
|
|
|
|
|||
|
A; A0; A00 ` B; B0; B00 |
|
|
|
|
|
is replaced by
13.1. THE KEY CASES |
107 |
A0 ` C; B0 |
A; C ` D; B |
Cut |
|
|
|
|
|
|
|
|
|
|
A0; A ` B0; D; B |
|
|
||
============= |
|
A00; D ` B00 |
|
||
|
A; A0 |
` D; B; B0 |
Cut |
||
|
|
A; A0; A00 ` B; B0; B00 |
|||
|
|
|
So the problem is solved by two cuts.
7. R8 and L8
A ` C; B |
A0; C[a= ] ` B0 |
|
||||
|
R8 |
0 |
; 8 : C ` B |
0 |
|
L8 |
A ` 8 : C; B |
A |
|
|
Cut |
||
A; A0 ` B; B0 |
|
|
|
|||
|
|
|
|
is replaced by
A ` C[a= ]; B A0; C[a= ] ` B0
Cut
A; A0 ` B; B0
where a is substituted for throughout the left-hand sub-proof.
8. R9 and L9
A ` C[a= ]; B |
|
|
A0; C ` B0 |
|
|
||
|
|
R9 |
0 |
; 9 : C ` B |
0 |
L9 |
|
|
A ` 9 : C; B |
A |
|
Cut |
|||
A; A0 ` B; B0 |
|
|
|||||
|
|
|
|
is replaced by
A ` C[a= ]; B A0; C[a= ] ` B0
Cut
A; A0 ` B; B0
This is the dual of case 7.