- •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?
100 CHAPTER 12. COHERENCE SEMANTICS OF THE SUM
Immediately we can see the essential property of linear implication: antisymmetry. If we de ne, for a coherence space A, the space A? (linear
negation) by |
|
|
|
|
|
|
|
|
|
|
|
|
jA?j = jAj |
|
|
|
|
|
|
_ |
0 |
(mod |
A |
?) i |
^ |
0 |
(mod |
A |
) |
^ |
|
|
|
_ |
|
|
|
||
then the map ( ; ) 7!( ; ) is an isomorphism from A(B to B? (A?. In other words, ( ; ) _^ ( 0; 0) (mod A ( B) i ( ; ) _^ ( 0; 0) (mod B? ( A?).
What is the meaning of this? A stable function takes an input of A and returns an output of B. When the function is linear, this process can be seen dually as returning an input of A (i.e. an output of A?) from an output of B (i.e. an input of B?). So the linear implication introduces a symmetrical form of functional dependence, the duality of r^oles of the argument and the result being expressed by the linear negation A 7! A?. This is analogous to transposition (not inversion) in Linear Algebra.
To make this relevant, we have to show that linearity is not an exceptional phenomenon, and we shall be able to symmetrise the functional situations.
12.4Linearisation
Let A be a coherence space. We can de ne the space !A (\of course A") by
j!Aj = An = fa 2 A : a niteg
_ |
(mod !A) i a1 [ a2 2 A |
a1 ^ a2 |
The basic function associated with !A is
a 7!a = fa : a a, a niteg
from A to !A. This function is stable, but far from being linear!
The interesting point about !A is that A ! B is equal to (!A) ( B as one can easily show. In other words, provided we change the source space, every stable function is linear!
12.4. LINEARISATION |
101 |
Let us make this precise by introducing some notation:
If F is stable from A to B, we de ne a linear stable function Lin(F ) from !A to B by Trlin(Lin(F )) = Tr(F ). We have:
Lin(F )(!a) = F (a)
Indeed, if 2 F (a), then for some a a, we have (a ; ) 2 Tr(F ) = Trlin(Lin(F )); but a 2 !a, so 2 Lin(F )(!a). Similarly, if 2 Lin(F )(!a), we see that 2 F (a).
If G is linear from !A to B, we de ne a stable function Delin(G) from A to B by:
Delin(G)(a) = G(!a)
It is easy to see that Lin and Delin are mutually inverse operations2, and in particular the equation Lin(F )(!a) = F (a) characterises Lin(F ).
We can now see very well how the reversibility works for ordinary implication:
A ! B = !A ( B ' B? ( (!A)? = B? ( ?(A?)
where ?C |
def |
? |
= (!(C?)) |
|
In other words the (non-linear) implication is reversible, but this requires some complicated constructions which have no connection with the functional intuition we started o with.
All this is side-tracking us, towards linear logic, and we shall stick to concluding the interpretation of the sum.
2Categorically, this says that ! is the left adjoint to the forgetful functor from coherence spaces and linear maps to coherence spaces and stable maps.
102 |
CHAPTER 12. COHERENCE SEMANTICS OF THE SUM |
12.5Linearised sum
We de ne A q B = !A !B and in the obvious way:
q1a = f1g !a |
q2b = f2g !b |
Casewise de nition is no longer a problem: if F is stable from A to C and G is stable from B to C, de ne H from A q B to C by
H(f1g A) = Lin(F )(A) |
H(f2g B) = Lin(G)(B) |
without con ict at ?, since Lin(F ) and Lin(G) are linear and so H(?) = ?.
The interpretation is not particularly economical but it has the merit of making use of the direct sum, and not any less intelligible considerations. Above all, it suggests a decomposition of the sum which shows up the more primitive operations: \!" which we found in the decomposition of the arrow, and \ " which is the truly disjunctive part of the sum.
Let us check the equations we want to interpret.
|
If F , G and a are the interpretations of u[x], v[y] and r, then the interpretation |
||||||||||||||||||||||||||||||
of |
x: u y: v |
( |
1r |
) is |
Lin( |
F |
)(! |
a |
), |
which is equal to |
the |
interpretation F (a) of |
|||||||||||||||||||
|
|
|
|
|
|
|
|
|
2 |
s) |
|
|
v[s=y]. |
|
|
||||||||||||||||
u[r=x]. Similarly, we shall interpret the conversion x: u y: v ( |
|
|
|
|
|||||||||||||||||||||||||||
|
Now we shall turn to the equation x: ( 1x) y: ( 2y) t = t. First, we see that |
||||||||||||||||||||||||||||||
|
1 |
|
A |
) = f1g |
A |
|
|
|
|
|
|
|
|
|
|
solution F of F (!a) = |
f |
1 |
g |
!a. |
|||||||||||
Lin(q |
)( |
|
|
, because it is the unique linear |
|
1 |
|
2 |
|
|
|
|
|
||||||||||||||||||
In |
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
f |
1 |
g |
A, then x: ( x) y: ( y) t is interpreted |
||||||||||||
|
particular, if t is interpreted by |
|
|
||||||||||||||||||||||||||||
by L 1 |
|
q |
|
|
2 |
|
f g |
A, |
|
|
|
|
|
|
2 |
|
|
|
by |
f |
2 |
g |
B, |
then |
|||||||
|
in( |
|
|
)(A) = |
|
1 |
|
and similarly, if t is interpreted |
|
|
|||||||||||||||||||||
x: ( x) y: ( y) t is interpreted by Lin(q )(B) = f2g B. |
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||
|
Finally, the commuting conversions are of the form |
|
|
|
|
|
|
|
|
|
|
||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
E ( x: u y: v t) |
x: (E u) y: (E v) t |
|
|
|
|
|
|
|
|
|
|
||||||||||
where E is an elimination. In every case, it is easy to see that the corresponding function E is linear. So it is enough to prove that, if E is linear, the function de ned casewise from E F and E G is E H, where H is de ned casewise from F and G. But this is a consequence of
Lin(E F ) = E Lin(F )
(and likewise Lin(E G) = E Lin(G)) which follows immediately from the characterisation of Lin(E F ).
12.6. TENSOR PRODUCT AND UNITS |
103 |
In the interpretation of the commuting conversions, it is of course crucial that the eliminations be linear.
The direct sum is the dual of the direct product:
(A N B)? = A? B?
It is of course more interesting to work with , which has a simple relationship with N, than with q, which behaves quite badly.
12.6Tensor product and units
The direct sum forms the disjoint union of the webs of two coherence spaces, so what is the meaning of the graph product?
We de ne A B to be the coherence space whose tokens are the pairs h; i, where 2 jAj and 2 jBj, with the coherence relation
h |
; _ |
0; 0 |
i |
(mod |
A B |
) i _ |
0 |
(mod |
A |
) and _ |
0 |
(mod |
B |
) |
i ^ h |
|
|
^ |
|
|
^ |
|
|
|
This is called the tensor product. The dual (linear negation) of the tensor product is called the par or tensor sum:
(A B)? = A? O B?
Comparing this with the linear implication we have
A ( B = A? O B = (A B?)?
Finally, each of the four associative binary opertions , N, and O has a unit, respectively called 0, >, 1 and ? (see section B.2). However for coherence spaces they coincide in pairs:
0 = > = Emp, where jEmpj = ?
1 = ? = Sgl, where jSglj = f g.
Which of these is the terminal object for coherence spaces and stable maps? For linear maps? How do these types relate to absurdity and tautology in natural deduction?
