- •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?
98 |
|
|
CHAPTER 12. |
COHERENCE SEMANTICS OF THE SUM |
|||||||
(1; (1; )) (1; (2; )) |
|
|
|
|
(2; (1; )) (2; (2; )) |
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(1; 1) |
(1; 2) |
(2; ) |
(1; ) |
(2; 1) |
(2; 2) |
||||||
@ |
|
|
|
|
|
@ |
|
||||
|
|
|
|
||||||||
@ |
|
|
|
|
|
@ |
|
||||
1 |
|
|
2 |
1 |
|
|
2 |
|
|||
|
|
(A q B) q C |
|
A q (B q C) |
|
|
12.3Linearity
We have already remarked that the operation t 7!t u is strict, i.e. preserves ?. Better than this it is linear. Let us look now at what that can mean. Let E be the function from A ! B to B de ned by
E(f) = f(a) where a is a given object of A.
Let us work out Tr(E): we have to nd all the 2 E(f) with f minimal. Now 2 E(f) = f(a) i there exists some a a such that (a ; ) 2 f. So the minimal f are the singletons f(a ; )g with a a, a nite, and the objects of Tr(E) are of the form
(f(a ; )g; ) with 2 jBj, a a, a nite.
A stable function F from A to B is linear precisely when Tr(F ) consists of pairs (f g; ) with 2 jAj and 2 jBj.
12.3.1Characterisation in terms of preservation
Let us look at some of the properties of linear functions.
i) |
F (?) = ?. |
Indeed, |
to |
have 2 F (?), |
we need a ? such that |
||||||||
|
(a ; ) 2 Tr(F ); but a = ? and so cannot be a singleton. |
|
|||||||||||
ii) |
If |
a1 [ a2 |
2 |
A, |
then |
F (a1 [ a2) |
= |
F (a1) [ F (a2). |
Clearly |
||||
|
F (a1) [ F (a2) F (a1 [ a2). |
Conversely, |
if |
2 F (a1 [ a2), |
that means |
||||||||
|
there is some a0 |
|
a |
1 [ |
a |
2 |
such that (a0; ) |
2 T |
|
||||
|
|
|
|
|
r(F ); but a0 is a singleton, so |
||||||||
|
a0 |
a1, in which case 2 F (a1), or a0 a2, in which case 2 F (a2). |
12.3. LINEARITY |
99 |
These properties characterise the stable functions which are linear; |
indeed, |
if 2 F (a) with a minimal, a must be a singleton: |
|
i) F (?) = ?, so a 6= ?. |
|
ii) if a = a0 [ a00, then F (a) = F (a0) [ F (a00), so 2 F (a0) or 2 F (a00); so, if a is not a singleton, we can nd a decomposition a = a0 [ a00 which contradicts the minimality of a.
Properties (i) and (ii) combine with preservation of ltered unions (Lin):
if A A, and for all a1; a2 2 A, a1 [ a2 2 A,
SS
then F ( A) = fF (a) : a 2 Ag
Observe that this condition is in the spirit of coherence spaces, which must be closed under pairwise-bounded unions. So we can de ne linear stable functions from A to B by (Lin) and (St):
if a1 [ a2 2 A then F (a1 \ a2) = F (a1) \ F (a2)
the monotonicity of F being a consequence of (Lin).
12.3.2Linear implication
We strayed from the trace to give a characterisation in terms of preservation. Returning to it, if we know that F is linear, we can discard the singleton symbols in Tr(F ):
Trlin(F ) = f( ; ) : 2 F ( )g
The set of all the Trlin(F ) as F varies over stable linear functions from A to B forms a coherence space A ( B (linear implication), with jA ( Bj = jAj jBj and ( ; ) _^ ( 0; 0) (mod A ( B) if
i)_^ 0 (mod A) ) _^ 0 (mod B)
ii)^_ 0 (mod B) ) ^_ 0 (mod A)
in which we introduce the abbreviation:
^_ 0 (mod A) for :( _^ 0) or = 0
for incoherence.