- •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?
3.5. DESCRIPTION OF THE ISOMORPHISM |
19 |
Proof By induction on t; if it is a variable or an abstraction there is nothing to do. If it is an application, t = uv, we apply the induction hypothesis to u, which by normality cannot be an abstraction.
Corollary If the types of the free variables of t are strictly simpler than the type of t, or in particular if t is closed, then it is an abstraction.
3.5Description of the isomorphism
This is nothing other than the precise statement of the correspondence between proofs and functional terms, which can be done in a precise way, now that functional terms have a precise status. On one side we have proofs with parcels of hypotheses, these parcels being labelled by integers, on the other side we have the system of typed terms:
1. |
To the deduction |
A (A in parcel i) corresponds the variable xiA. |
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2. |
To the deduction |
|
|
|
|
corresponds |
h |
u; v |
i |
where u |
and v |
|||
A |
|
B |
||||||||||||
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
^I |
|
|
|
|
|
|
|
|
|
|
A |
|
B |
|
|
|
|
|
|
|
||
|
correspond to the deductions^ of A and B. |
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
||
3. |
To the deduction |
|
|
|
(respectively |
|
|
|
|
|
) corresponds |
|||
|
|
A ^ B |
|
|
|
|
A ^ B |
|
|
|
|
|||
|
|
A |
^1E |
|
B |
|
|
^2E |
|
|||||
|
1t (respectively 2t), where t corresponds to the deduction of A ^ B. |
|||||||||||||
|
|
|
[A] |
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4. |
To the deduction |
|
|
|
|
|
corresponds |
|
|
A |
|
|
deleted |
|
|
|
|
|
|
xi : v, if the |
|||||||||
|
|
|
|
|
B |
|
|
|
|
|
|
|
|
|
)I
A ) B
hypotheses form parcel i, and v corresponds to the deduction of B.
|
|
|
|
|
|
|
|
5. To the deduction |
|
|
corresponds the term t u, where t |
|
A |
A ) B |
)E |
|
|
B |
and u correspond to the deductions of A ) B and B.
20 |
CHAPTER 3. THE CURRY-HOWARD ISOMORPHISM |
3.6Relevance of the isomorphism
Strictly speaking, what was de ned in 3.5 is a bijection. We cannot say it is an isomorphism: this requires that structures of the same kind already exist on either side.
In fact the tradition of normalisation exists independently for natural deduction: a proof is normal when it does not contain any sequence of an introduction and an elimination rule:
|
|
|
|
|
|
|
|
|
[A] |
|
||||||
|
|
|
|
|
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
||||||
A |
|
B |
A |
|
B |
|
|
|
|
|
||||||
|
|
|
|
|
^I |
|
|
|
|
|
^I |
|
B |
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
)I |
|||
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
A |
^ |
B |
|
A |
^ |
B |
|
|
|
|
|||||
|
|
|
A ) B |
|||||||||||||
|
|
1 |
|
|
2 |
|
A |
|
||||||||
|
|
A |
|
^ E |
|
|
B |
|
^ |
E |
|
|
|
)E |
||
|
|
|
|
|
|
|
|
|
|
|
|
B |
For each of these con gurations, it is possible to de ne a notion of conversion. In chapter 2, we identi ed deductions by the word \equals"; we now consider these identi cations as rewriting, the left member of the equality being rewritten to the right one.
That we have an isomorphism follows from the fact that, modulo the bijection we have already introduced, the notions of conversion, normality and reduction introduced in the two cases (and independently, from the historical viewpoint) correspond perfectly. In particular the normal form theorem we announced in 3.4 has an exact counterpart in natural deduction. We shall discuss the analogue of head normal forms in section 10.3.1.
Having said this, the interest in an isomorphism lies in a di erence between the two participants, otherwise what is the point of it? In the case which interests us, the functional side possesses an operational aspect alien to formal proofs. The proof side is distinguished by its logical aspect, a priori alien to algorithmic considerations.
The comparison of the two alien viewpoints has some deep consequences from a methodological point of view (technically none, seen at the weak technical level of the two traditions):
All good (constructive) logic must have an operational side.
Conversely, one cannot work with typed calculi without regard to the implicit symmetries, which are those of Logic. In general, the \improvements" of typing based on logical atrocities do not work.
3.6. RELEVANCE OF THE ISOMORPHISM |
21 |
Basically, the two sides of the isomorphism are undoubtedly the the same object, accidentally represented in two di erent ways. It seems, in the light of recent work, that the \proof" aspect is less tied to contingent intuitions, and is the way in which one should study algorithms. The functional aspect is more eloquent, more immediate, and should be kept to a heuristic r^ole.