Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Logic and CS / Girard. Proofs and Types.pdf
Скачиваний:
41
Добавлен:
10.08.2013
Размер:
947.15 Кб
Скачать

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?

Соседние файлы в папке Logic and CS