Geometry of interaction

From LLWiki
(Difference between revisions)
Jump to: navigation, search
m (The Geometry of Interaction as operators: typo)
(Execution formula : false assertion corrected)
Line 53: Line 53:
 
These three sets are closed subspaces of <math>H</math>.
 
These three sets are closed subspaces of <math>H</math>.
   
The ''adjoint'' of an operator <math>u</math> is the operator <math>u^*</math> defined by <math>\langle u(x), y\rangle = \langle x, u^*(y)\rangle</math> for any <math>x,y\in H</math>.
+
The ''adjoint'' of an operator <math>u</math> is the operator <math>u^*</math> defined by <math>\langle u(x), y\rangle = \langle x, u^*(y)\rangle</math> for any <math>x,y\in H</math>. Adjointness if well behaved w.r.t. composition of operators:
  +
: <math>(uv)^* = v^*u^*</math>.
   
 
A ''projector'' is an idempotent operator of norm <math>0</math> (the projector
 
A ''projector'' is an idempotent operator of norm <math>0</math> (the projector
Line 121: Line 121:
   
 
{{Definition|
 
{{Definition|
The ''proof space'' <math>\mathcal{P}</math> is the set of partial isometries of the form <math>u_\varphi</math> for partial permutations <math>\varphi</math> on <math>\mathbb{N}</math>.
+
We call ''<math>p</math>-isometry'' a partial isometry of the form <math>u_\varphi</math> where <math>\varphi</math> is a partial permutation on <math>\mathbb{N}</math>. The ''proof space'' <math>\mathcal{P}</math> is the set of all <math>p</math>-isometries.
 
}}
 
}}
   
In particular note that <math>0\in\mathcal{P}</math>. The set <math>\mathcal{P}</math> is a submonoid of <math>\mathcal{B}(H)</math> but it is not a subalgebra: in general given <math>u,v\in\mathcal{P}</math> we don't necessarily have <math>u+v\in\mathcal{P}</math>. However we have:
+
In particular note that <math>0</math> is a <math>p</math>-isometry. The set <math>\mathcal{P}</math> is a submonoid of <math>\mathcal{B}(H)</math> but it is not a subalgebra<ref><math>\mathcal{P}</math> is the normalizing groupoid of the maximal commutative subalgebra of <math>\mathcal{B}(H)</math> consisiting of all operators ''diagonalizable'' in the canonical basis.</ref>. In general given <math>u,v\in\mathcal{P}</math> we don't necessarily have <math>u+v\in\mathcal{P}</math>. However we have:
   
 
{{Proposition|
 
{{Proposition|
Line 130: Line 130:
 
: <math>u+v\in\mathcal{P}</math> iff <math>uu^*vv^* = u^*uv^*v = 0</math>.
 
: <math>u+v\in\mathcal{P}</math> iff <math>uu^*vv^* = u^*uv^*v = 0</math>.
 
}}
 
}}
  +
Suppose for contradiction that <math>e_n</math> is in the domain of <math>u</math> and in the domain of <math>v</math>. As <math>u</math> and <math>v</math> are <math>p</math>-isometries there are integers <math>p</math> and <math>q</math> such that <math>u(e_n) = e_p</math> and <math>v(e_n) = e_q</math> thus <math>(u+v)(e_n) = e_p + e_q</math> which is not a basis vector; therefore <math>u+v</math> is not a <math>p</math>-permutation.
   
Also note that if <math>u+v=0</math> then <math>u=v=0</math>.
+
As a corollary note that if <math>u+v=0</math> then <math>u=v=0</math>.
   
 
=== From operators to matrices: internalization/externalization ===
 
=== From operators to matrices: internalization/externalization ===
Line 140: Line 141:
 
: <math>q(e_n) = e_{2n+1}</math>.
 
: <math>q(e_n) = e_{2n+1}</math>.
   
From the definition <math>p</math> and <math>q</math> have full domain, that is satisfy <math>p^* p = q^* q = 1</math>. On the other hand their codomains are orthogonal, thus we have <math>p^* q = q^* p = 0</math>. Note that we also have <math>pp^* + qq^* = 1</math>.
+
From the definition <math>p</math> and <math>q</math> have full domain, that is
  +
satisfy <math>p^* p = q^* q = 1</math>. On the other hand their codomains are
  +
disjoint, thus we have <math>p^*q = q^*p = 0</math>. As the sum of their
  +
codomains is the full space <math>H</math> we also have <math>pp^* + qq^* = 1</math>.
   
The choice of <math>p</math> and <math>q</math> is actually arbitrary, any two partial isometries with full domain and orthogonal codomains would do the job.
+
Note that we have choosen <math>p</math> and <math>q</math> in <math>\mathcal{P}</math>. However the choice is arbitrary: any two <math>p</math>-isometries with full domain and disjoint codomains would do the job.
   
Let <math>U</math> be an operator on <math>H\oplus H</math>. We can write <math>U</math> as a matrix:
+
Given an operator <math>u</math> on <math>H</math> we may ''externalize'' it obtaining an operator <math>U</math> on <math>H\oplus H</math> defined by the matrix:
 
: <math>U = \begin{pmatrix}
 
: <math>U = \begin{pmatrix}
 
u_{11} & u_{12}\\
 
u_{11} & u_{12}\\
 
u_{21} & u_{22}
 
u_{21} & u_{22}
 
\end{pmatrix}</math>
 
\end{pmatrix}</math>
where each <math>u_{ij}</math> operates on <math>H</math>.
+
where the <math>u_{ij}</math>'s are given by:
 
Now through the isomorphism <math>H\oplus H\cong H</math> we may transform <math>U</math> into the operator <math>u</math> on <math>H</math> defined by:
 
 
: <math>u = pu_{11}p^* + pu_{12}q^* + qu_{21}p^* + qu_{22}q^*</math>.
 
 
We call <math>u</math> the ''internalization'' of <math>U</math>. Internalization is compatible with composition (functorial so to speak): if <math>V</math> is another operator on <math>H\oplus</math> then the internalization of the matrix product <math>UV</math> is the product <math>uv</math>.
 
 
Conversely given an operator <math>u</math> on <math>H</math> we may externalize it obtaining an operator <math>U</math> on <math>H\oplus H</math>:
 
 
: <math>u_{11} = p^*up</math>;
 
: <math>u_{11} = p^*up</math>;
 
: <math>u_{12} = p^*uq</math>;
 
: <math>u_{12} = p^*uq</math>;
Line 155: Line 156:
 
: <math>u_{22} = q^*uq</math>.
 
: <math>u_{22} = q^*uq</math>.
   
The <math>u_{ij}</math>'s are called the ''components'' of <math>u</math>. Note that if <math>u</math> is generated by a partial permutation, that is if <math>u\in\mathcal{P}</math> then so are the <math>u_{ij}</math>'s. Moreover we have:
+
The <math>u_{ij}</math>'s are called the ''components'' of <math>u</math>. The externalization is functorial in the sense that if <math>v</math> is another operator externalized as:
  +
: <math>V = \begin{pmatrix}
  +
v_{11} & v_{12}\\
  +
v_{21} & v_{22}
  +
\end{pmatrix}
  +
= \begin{pmatrix}
  +
p^*vp & p^*vq\\
  +
q^*vp & q^*vq
  +
\end{pmatrix}
  +
</math>
  +
then the externalization of <math>uv</math> is <math>UV</math>.
  +
  +
We also have:
 
: <math>u = (pp^*+qq^*)u(pp^*+qq^*) = pu_{11}p^* + pu_{12}q^* + qu_{21}p^* + qu_{22}q^*</math>
 
: <math>u = (pp^*+qq^*)u(pp^*+qq^*) = pu_{11}p^* + pu_{12}q^* + qu_{21}p^* + qu_{22}q^*</math>
which entails that the four terms of the sum have pairwise disjoint domains and pairwise disjoint codomains. This can be verified for example by computing the product of the final projectors of <math>pu_{11}p^*</math> and <math>pu_{12}q^*</math>:
+
which entails that externalization is reversible, its converse being called ''internalization''.
  +
  +
Furthermore if we suppose that <math>u</math> is a <math>p</math>-isometry then so are the components <math>u_{ij}</math>'s. Thus the formula above entails that the four terms of the sum have pairwise disjoint domains and pairwise disjoint codomains.
  +
{{Proposition|
  +
If <math>u</math> is a <math>p</math>-isometry and <math>u_{ij}</math> are its external components then:
  +
* <math>u_{1j}</math> and <math>u_{2j}</math> have disjoint domains, that is <math>u_{1j}^*u_{1j}u_{2j}^*u_{2j} = 0</math> for <math>j=1,2</math>;
  +
* <math>u_{i1}</math> and <math>u_{i2}</math> have disjoint codomains, that is <math>u_{i1}u_{i1}^*u_{i2}u_{i2}^* = 0</math> for <math>i=1,2</math>.
  +
}}
  +
  +
As an example of computation in <math>\mathcal{P}</math> let us compute the product of the final projectors of <math>pu_{11}p^*</math> and <math>pu_{12}q^*</math>:
 
: <math>\begin{align}
 
: <math>\begin{align}
 
(pu_{11}p^*)(pu^*_{11}p^*)(pu_{12}q^*)(qu_{12}^*p^*)
 
(pu_{11}p^*)(pu^*_{11}p^*)(pu_{12}q^*)(qu_{12}^*p^*)
Line 175: Line 176:
 
=== The tensor and the linear application ===
 
=== The tensor and the linear application ===
   
Given two types <math>A</math> and <math>B</math>, we define their tensor by:
+
If <math>u</math> and <math>v</math> are two <math>p</math>-isometries summing them doesn't in general produces a <math>p</math>-isometry. However as <math>pup^*</math> and <math>qvq^*</math> have disjoint domains and disjoint codomains it is true that <math>pup^* + qvq^*</math> is a <math>p</math>-isometry. Given two types <math>A</math> and <math>B</math>, we thus define their ''tensor'' by:
   
 
: <math>A\tens B = \{pup^* + qvq^*, u\in A, v\in B\}\biorth</math>
 
: <math>A\tens B = \{pup^* + qvq^*, u\in A, v\in B\}\biorth</math>
   
Note the closure by bidual to make sure that we obtain a type. From what precedes we see that <math>A\tens B</math> is generated by the internalizations of operators on <math>H\oplus H</math> of the form:
+
Note the closure by bidual to make sure that we obtain a type.
  +
  +
From what precedes we see that <math>A\tens B</math> is generated by the internalizations of operators on <math>H\oplus H</math> of the form:
 
: <math>\begin{pmatrix}
 
: <math>\begin{pmatrix}
 
u & 0\\
 
u & 0\\
Line 185: Line 186:
 
\end{pmatrix}</math>
 
\end{pmatrix}</math>
   
This is an abuse of notations as this operation is more like a direct sum than a tensor. We will stick to this notation though because it defines the interpretation of the tensor connective of linear logic.
+
Note that this so-called tensor resembles a sum rather than a product. We will stick to this terminology though because it defines the interpretation of the tensor connective of linear logic.
   
 
The linear implication is derived from the tensor by duality: given two types <math>A</math> and <math>B</math> the type <math>A\limp B</math> is defined by:
 
The linear implication is derived from the tensor by duality: given two types <math>A</math> and <math>B</math> the type <math>A\limp B</math> is defined by:
 
: <math>A\limp B = (A\tens B\orth)\orth</math>.
 
: <math>A\limp B = (A\tens B\orth)\orth</math>.
   
Unfolding this definition we see that we have:
+
Unfolding this definition we get:
: <math>A\limp B = \{u\in\mathcal{P}\text{ such that } \forall v\in A, \forall w\in B\orth,\, u.(pvp^* + qwq^*) \in\bot\}</math>.
+
: <math>A\limp B = \{u\in\mathcal{P}\text{ s.t. } \forall v\in A, \forall w\in B\orth,\, u.(pvp^* + qwq^*) \in\bot\}</math>.
   
 
=== The identity ===
 
=== The identity ===
   
The interpretation of the identity is an example of the internalization/externalization procedure. Given a type <math>A</math> we are to find an operator <math>\iota</math> in type <math>A\limp A</math>, thus satisfying:
+
The interpretation of the identity is an example of internalization. Given a type <math>A</math> we are to find an operator <math>\iota</math> in type <math>A\limp A</math>, thus satisfying:
 
: <math>\forall u\in A, v\in A\orth,\, \iota(pup^* + qvq^*)\in\bot</math>.
 
: <math>\forall u\in A, v\in A\orth,\, \iota(pup^* + qvq^*)\in\bot</math>.
   
Line 207: Line 208:
 
=== The execution formula, version 1: application ===
 
=== The execution formula, version 1: application ===
   
Let <math>A</math> and <math>B</math> be two types and <math>u</math> an operator in <math>A\limp B</math>. By definition this means that given <math>v</math> in <math>A</math> and <math>w</math> in <math>B\orth</math> the operator <math>u.(pvp^* + qwq^*)</math> is nilpotent.
+
{{Definition|
  +
Let <math>u</math> and <math>v</math> be two operators; as above denote by <math>u_{ij}</math> the external components of <math>u</math>. Assume that <math>u_{11}v</math> is nilpotent. We define a new operator <math>\mathrm{App}(u,v)</math> by:
  +
: <math>\mathrm{App}(u,v) = u_{22} + u_{21}v\sum_k(u_{11}v)^ku_{11}</math>.
  +
}}
   
Let us define <math>u_{11}</math> to <math>u_{22}</math> by externalization as above. If we compute <math>(u.(pvp^* + qwq^*))^n</math> we see that this is a finite sum of operators of the form:
+
Note that the hypothesis that <math>u_{11}v</math> is nilpotent entails that the sum <math>\sum_k(u_{11}v)^k</math> is actually finite. It would be enough to assume that this sum converges. For simplicity we stick to the nilpotency condition, but we should mention that weak nilpotency would do as well.
# <math>q(u_{22}w)^{k_0}u_{21}v(u_{11}v)^{k_1}u_{12}w\dots u_{12}w(u_{22}w)^{k_{p+1}}q^*</math>,
 
# <math>p(u_{11}v)^{k_1}u_{12}w\dots u_{12}w(u_{22}w)^{k_{p+1}}q^*</math>,
 
# <math>q(u_{22}w)^{k_0}u_{21}v(u_{11}v)^{k_1}u_{12}w\dots (u_{11}v)^{k_p}p^*</math> or
 
# <math>p(u_{11}v)^{k_1}u_{12}w\dots (u_{11}v)^{k_p}p^*</math>
 
where each of these monimials has exactly <math>n</math> factors of the form <math>u_{i1}v</math> or <math>u_{i2}w</math>.
 
   
From the nilpotency of <math>u.(pvp^* + qwq^*)</math> we deduce that <math>u_{11}v</math> is nilpotent by considering the particular case where <math>w=0</math>. We also have that <math>q^*(u.(pvp^* + qwq^*))^nq</math> is null for <math>n</math> big enough, <strike>which means that monomials of type 1 above are null as soon as their length (the number of factors of the form <math>u_{i1}v</math> or <math>u_{i2}w</math>) is bigger than <math>n</math></strike>.
+
{{Theorem|
  +
If <math>u</math> and <math>v</math> are <math>p</math>-isometries such that <math>u_{11}v</math> is nilpotent, then <math>\mathrm{App}(u,v)</math> is also a <math>p</math>-isometry.
  +
}}
   
This implies that the two following operators are nilpotent:
+
{{Proof|
: <math>u_{11}v</math> and
+
Let us note <math>E_k = u_{21}v(u_{11}v)^ku_{12}</math>. Recall that <math>u_{22}</math> and <math>u_{12}</math> being external components of the <math>p</math>-isometry <math>u</math>, they have disjoint domains. Thus it is also the case of <math>u_{22}</math> and <math>E_k</math>. Similarly <math>u_{22}</math> and <math>E_k</math> have disjoint codomains because <math>u_{22}</math> and <math>u_{21}</math> have disjoint codomains.
: <math>\bigl(u_{22} + u_{21}v\sum_k(u_{11}v)^k u_{12}\bigr)w</math>.
 
   
Conversely if these two operators are nilpotent then one can show that so is <math>u.(pvp^* + qwq^*)</math>. Moreover we have:
+
Let now <math>k</math> and <math>l</math> be two integers such that <math>k>l</math> and let us compute for example the intersection of the codomains of <math>E_k</math> and <math>E_l</math>:
: <math>q^*\sum_n\bigl(u.(pvp^* + qwq^*)\bigr)^nq = \sum_n\bigl((u_{22} + u_{21}v\sum_k(u_{11}v)^k u_{12})w\bigr)^n</math>.
+
: <math>
  +
E_kE^*_kE_lE^*_l = (u_{21}v(u_{11}v)^ku_{12})(u^*_{12}(v^*u^*_{11})^kv^*u^*_{21})(u_{21}v(u_{11}v)^lu_{12})(u^*_{12}(v^*u^*_{11})^lv^*u_{21}^*)
  +
</math>
  +
As <math>k>l</math> we may write <math>(v^*u_{11}^*)^l = (v^*u^*_{11})^{k-l-1}v^*u^*_{11}(v^*u^*_{11})^l</math>. Let us note <math>E = u^*_{11}(v^*u^*_{11})^lv^*u_{21}^*u_{21}v(u_{11}v)^lu_{12}</math> so that <math>E_kE^*_kE_lE^*_l = u_{21}v(u_{11}v)^ku_{12}u^*_{12}(v^*u^*_{11})^{k-l-1}v^*Eu^*_{12}(v^*u^*_{11})^lv^*u_{21}^*</math>. We have:
  +
: <math>\begin{align}
  +
E &= u^*_{11}(v^*u^*_{11})^lv^*u_{21}^*u_{21}v(u_{11}v)^lu_{12}\\
  +
&= (u^*_{11}u_{11}u^*_{11})(v^*u^*_{11})^lv^*u_{21}^*u_{21}v(u_{11}v)^lu_{12}\\
  +
&= u^*_{11}(u_{11}u^*_{11})\bigl((v^*u^*_{11})^lv^*u_{21}^*u_{21}v(u_{11}v)^l\bigr)u_{12}\\
  +
&= u^*_{11}\bigl((v^*u^*_{11})^lv^*u_{21}^*u_{21}v(u_{11}v)^l\bigr)(u_{11}u^*_{11})u_{12}\\
  +
&= u^*_{11}(v^*u^*_{11})^lv^*u_{21}^*u_{21}v(u_{11}v)^lu_{11}u^*_{11}u_{12}\\
  +
&= 0
  +
\end{align}</math>
  +
because <math>u_{11}</math> and <math>u_{12}</math> have disjoint codomains, thus <math>u^*_{11}u_{12} = 0</math>.
   
We define the ''application of <math>u</math> to <math>v</math>'' as:
+
Similarly we can show that <math>E_k</math> and <math>E_l</math> have disjoint domains. Therefore we have proved that all terms of the sum <math>\mathrm{App}(u,v)</math> have disjoint domains and disjoint codomains. Consequently <math>\mathrm{App}(u,v)</math> is a <math>p</math>-isometry.
: <math>\mathrm{App}(u, v) = u_{22} + u_{21}v\sum(u_{11}v)^ku_{12}</math>.
+
}}
Note that this is well defined as soon as <math>u_{11}v</math> is nilpotent.
 
 
We summarize what has just been shown in the following theorem:
 
   
 
{{Theorem|
 
{{Theorem|
Let <math>u</math> be an operator, <math>A</math> and <math>B</math> be two types; the following conditions are equivalent:
+
Let <math>A</math> and <math>B</math> be two types and <math>u</math> a <math>p</math>-isometry. Then the two following conditions are equivalent:
* <math>u\in A\limp B</math>;
+
# <math>u\in A\limp B</math>;
* for any <math>v\in A</math>, we both have:
+
# for any <math>v\in A</math> we have:
:: <math>u_{11}v</math> is nilpotent and
+
#* <math>u_{11}v</math> is nilpotent and
:: <math>\mathrm{App}(u, v)\in B</math>.
+
#* <math>\mathrm{App}(u, v)\in B</math>.
  +
}}
  +
  +
{{Proof|
  +
Let <math>v</math> and <math>w</math> be two <math>p</math>-isometries. If we compute
  +
: <math>(u.(pvp^* + qwq^*))^n = \bigl((pu_{11}p^* + pu_{12}q^* + qu_{21}p^* + qu_{22}q^*)(pvp^* + qwq^*)\bigr)^n</math>
  +
we get a finite sum of monomial operators of the form:
  +
# <math>p(u_{11}v)^{i_0}u_{12}w(u_{22}w)^{i_1}\dots u_{21}v(u_{11}v)^{i_m}p^*</math>
  +
# <math>p(u_{11}v)^{i_0}u_{12}w(u_{22}w)^{i_1}\dots u_{12}w(u_{22}w)^{i_m}q^*</math>,
  +
# <math>q(u_{22}w)^{i_0}u_{21}v(u_{11}v)^{i_1}\dots u_{21}v(u_{11}v)^{i_m}p^*</math> or
  +
# <math>q(u_{22}w)^{i_0}u_{21}v(u_{11}v)^{i_1}\dots u_{12}w(u_{22}w)^{i_m}q^*</math>,
  +
for all tuples of integers <math>(i_1,\dots, i_m)</math> such that <math>i_0+\cdots+i_m+m = n</math>.
  +
  +
Each of these monomial is a <math>p</math>-isometry. Furthermore they have disjoint domains and disjoint codomains because their sum is the <math>p</math>-isometry <math>(u.(pvp^* + qwq^*))^n</math>.
  +
  +
Suppose <math>u_{11}v</math> is nilpotent and consider:
  +
: <math>\bigl(\mathrm{App}(u,v)w\bigr)^n = \biggl(\bigl(u_{22} + u_{21}v\sum_k(u_{11}v)^k u_{12}\bigr)w\biggr)^n</math>.
  +
Developping we get a finite sum of monomials of the form:
  +
: <math>(u_{22}w)^{l_0}u_{21}v(u_{11}v)^{k_1}u_{12}w(u_{22}w)^{l_1}\dots u_{21}v(u_{11}v)^{k_m}u_{12}w(u_{22}w)^{l_m}</math>
  +
for all tuples <math>(l_0,\dots, l_m)</math> such that <math>l_0\cdots l_m + m = n</math>.
  +
  +
Again as these monomials are <math>p</math>-isometries and their sum is the <math>p</math>-isometry <math>(\mathrm{App}(u,v)w)^n</math>, they have pairwise disjoint domains and pairwise disjoint codomains. Note that each of these monomial is equal to <math>q^*Mq</math> where <math>M</math> is a monomial of type 4 above.
  +
  +
Suppose now that <math>u\in A\limp B</math> and <math>v\in A</math>. Then, since <math>0\in B\orth</math> (<math>0</math> belongs to any type) <math>u.(pvp^*) = pu_{11}vp^*</math> is nilpotent, thus <math>u_{11}v</math> is nilpotent.
  +
  +
Suppose further that <math>w\in B\orth</math>. Then <math>u.(pvp^*+qwq^*)</math> is nilpotent, thus there is a <math>N</math> such that <math>(u.(pvp^* + qwq^*))^n=0</math> for any <math>n\geq N</math>. This entails that all monomials of type 1 to 4 are null because they have disjoint domains and disjoint codomains. Therefore all monomials appearing in the developpment of <math>(\mathrm{App}(u,v)w)^N</math> are null which proves that <math>\mathrm{App}(u,v)w</math> is nilpotent. Thus <math>\mathrm{App}(u,v)\in B</math>.
  +
  +
Conversely suppose for any <math>v\in A</math> and <math>w\in B\orth</math>, <math>u_{11}v</math> and <math>\mathrm{App}(u,v)w</math> are nilpotent. Let <math>P</math> and <math>N</math> be their respective degrees of nilpotency and put <math>n=N(P+1)+N</math>. Then we claim that all monomials appearing in the development of <math>(u.(pvp^*+qwq^*))^n</math> are null.
  +
  +
Consider for example a monomial of type 1:
  +
: <math>p(u_{11}v)^{i_0}u_{12}w(u_{22}w)^{i_1}\dots u_{21}v(u_{11}v)^{i_m}p^*</math>.
  +
If <math>i_{2k}\geq P</math> for some <math>0\leq k\leq m/2</math> then <math>(u_{11}v)^{i_{2k}}=0</math>. Otherwise if <math>i_{2k}<P</math> for all <math>k</math> then as we have:
  +
: <math>i_0+\cdots+i_m + m = n</math>
  +
we deduce:
  +
: <math>i_1+i_3+\cdots +i_{m-1} + m/2 = n - m/2 - (i_0+i_2+\cdots +i_m)</math>
  +
thus:
  +
: <math>i_1+i_3+\cdots +i_{m-1}\geq n - (m/2)(1+P)</math>.
  +
Now if <math>m/2\geq N</math> then <math>i_1+\cdots+i_{m-1}+m/2 \geq N</math>. Otherwise <math>m/2<N</math> and
  +
: <math>i_1+i_3+\cdots +i_{m-1}\geq n - N(1+P) = N</math>.
  +
Since <math>N</math> is the degree of nilpotency of <math>\mathrm{App}(u,v)w</math> we have that the monomial:
  +
: <math>(u_{22}w)^{i_1}u_{21}v(u_{11}v)^{i_2}u_{12}w\dots(u_{11}v)^{i_{m-2}}u_{12}w(u_{22}w)^{i_{m-1}}</math>
  +
is null. Thus so is the monomial of type 1 we started with.
 
}}
 
}}
   
 
{{Corollary|
 
{{Corollary|
Under the hypothesis of the theorem we have:
+
If <math>A</math> and <math>B</math> are types then we have:
 
: <math>A\limp B = \{u\in\mathcal{P} \text{ such that }\forall v\in A: u_{11}v\in\bot\text{ and } \mathrm{App}(u, v)\in B\}</math>.
 
: <math>A\limp B = \{u\in\mathcal{P} \text{ such that }\forall v\in A: u_{11}v\in\bot\text{ and } \mathrm{App}(u, v)\in B\}</math>.
 
}}
 
}}

Revision as of 22:28, 28 April 2010

The geometry of interaction, GoI in short, was defined in the early nineties by Girard as an interpretation of linear logic into operators algebra: formulae were interpreted by Hilbert spaces and proofs by partial isometries.

This was a striking novelty as it was the first time that a mathematical model of logic (lambda-calculus) didn't interpret a proof of A\limp B as a morphism from A to B[1], and proof composition (cut rule) as the composition of morphisms. Rather the proof was interpreted as an operator acting on A\limp B, that is a morphism from A\limp B to A\limp B. For proof composition the problem was then, given an operator on A\limp B and another one on B\limp C to construct a new operator on A\limp C. This problem was solved by the execution formula that bares some formal analogies with Kleene's formula for recursive functions. For this reason GoI was claimed to be an operational semantics, as opposed to traditionnal denotational semantics.

The first instance of the GoI was restricted to the MELL fragment of linear logic (Multiplicative and Exponential fragment) which is enough to encode lambda-calculus. Since then Girard proposed several improvements: firstly the extension to the additive connectives known as Geometry of Interaction 3 and more recently a complete reformulation using Von Neumann algebras that allows to deal with some aspects of implicit complexity

The GoI has been a source of inspiration for various authors. Danos and Regnier have reformulated the original model exhibiting its combinatorial nature using a theory of reduction of paths in proof-nets and showing the link with abstract machines; in particular the execution formula appears as the composition of two automata that interact one with the other through their common interface. Also the execution formula has rapidly been understood as expressing the composition of strategies in game semantics. It has been used in the theory of sharing reduction for lambda-calculus in the Abadi-Gonthier-Lévy reformulation and simplification of Lamping's representation of sharing. Finally the original GoI for the MELL fragment has been reformulated in the framework of traced monoidal categories following an idea originally proposed by Joyal.

Contents

The Geometry of Interaction as operators

The original construction of GoI by Girard follows a general pattern already mentionned in coherent semantics under the name symmetric reducibility and that was first put to use in phase semantics. First set a general space P called the proof space because this is where the interpretations of proofs will live. Make sure that P is a (not necessarily commutative) monoid. In the case of GoI, the proof space is a subset of the space of bounded operators on \ell^2.

Second define a particular subset of P that will be denoted by \bot; then derive a duality on P: for u,v\in P, u and v are dual[2], iff uv\in\bot.

For the GoI, two dualities have proved to work; we will consider the first one: nilpotency, ie, \bot is the set of nilpotent operators in P. Let us explicit this: two operators u and v are dual if there is a nonegative integer n such that (uv)n = 0. Note in particular that uv\in\bot iff vu\in\bot.

When X is a subset of P define X\orth as the set of elements of P that are dual to all elements of X:

X\orth = \{u\in P, \forall v\in X, uv\in\bot\}.

This construction has a few properties that we will use without mention in the sequel. Given two subsets X and Y of P we have:

  • if X\subset Y then Y\orth\subset X;
  • X\subset X\biorth;
  • X\triorth = X\orth.

Last define a type as a subset T of the proof space that is equal to its bidual: T = T\biorth. This means that u\in T iff for all operator v\in T\orth, that is such that u'v\in\bot for all u'\in T, we have uv\in\bot.

The real work[3], is now to interpret logical operations, that is to associate a type to each formula, an object to each proof and show the adequacy lemma: if u is the interpretation of a proof of the formula A then u belongs to the type associated to A.

Preliminaries

We begin by a brief tour of the operations in Hilbert spaces that we use. In this article H will stand for the Hilbert space \ell^2(\mathbb{N}) of sequences (x_n)_{n\in\mathbb{N}} of complex numbers such that the series \sum_{n\in\mathbb{N}}|x_n|^2 converges. If x = (x_n)_{n\in\mathbb{N}} and y = (y_n)_{n\in\mathbb{N}} are two vectors of H we denote by \langle x,y\rangle their scalar product:

\langle x, y\rangle = \sum_{n\in\mathbb{N}} x_n\bar y_n.

Two vectors of H are othogonal if their scalar product is nul. We will say that two subspaces are disjoint when their vectors are pairwise orthogonal; this terminology is slightly misleading as disjoint subspaces always have 0 in common.

The norm of a vector is the square root of the scalar product with itself:

\|x\| = \sqrt{\langle x, x\rangle}.

Let us denote by (e_k)_{k\in\mathbb{N}} the canonical hilbertian basis of H: e_k = (\delta_{kn})_{n\in\mathbb{N}} where δkn is the Kroenecker symbol: δkn = 1 if k = n, 0 otherwise. Thus if x=(x_n)_{n\in\mathbb{N}} is a sequence in H we have:

 x = \sum_{n\in\mathbb{N}} x_ne_n.

An operator on H is a continuous linear map from H to H. Continuity is equivalent to the fact that operators are bounded, which means that one may define the norm of an operator u as the sup on the unit ball of the norms of its values:

\|u\| = \sup_{\{x\in H,\, \|x\| = 1\}}\|u(x)\|.

The set of (bounded) operators is denoted by \mathcal{B}(H).

The range or codomain of the operator u is the set of images of vectors; the kernel of u is the set of vectors that are anihilated by u; the domain of u is the set of vectors orthogonal to the kernel, ie, the maximal subspace disjoint with the kernel:

  • \mathrm{Codom}(u) = \{u(x),\, x\in H\};
  • \mathrm{Ker}(u) = \{x\in H,\, u(x) = 0\};
  • \mathrm{Dom}(u) = \{x\in H,\, \forall y\in\mathrm{Ker}(u), \langle x, y\rangle = 0\}.

These three sets are closed subspaces of H.

The adjoint of an operator u is the operator u * defined by \langle u(x), y\rangle = \langle x, u^*(y)\rangle for any x,y\in H. Adjointness if well behaved w.r.t. composition of operators:

(uv) * = v * u * .

A projector is an idempotent operator of norm 0 (the projector on the null subspace) or 1, that is an operator p such that p2 = p and \|p\| = 0 or 1. A projector is auto-adjoint and its domain is equal to its codomain.

A partial isometry is an operator u satisfying uu * u = u; this condition entails that we also have u * uu * = u * . As a consequence uu * and uu * are both projectors, called respectively the initial and the final projector of u because their codomain are respectively the domain and the codomain of u. The restriction of u to its domain is an isometry. Projectors are particular examples of partial isometries.

If u is a partial isometry then u * is also a partial isometry the domain of which is the codomain of u and the codomain of which is the domain of u.

If the domain of u is H that is if u * u = 1 we say that u has full domain, and similarly for codomain. If u and v are two partial isometries, the equation uu * + vv * = 1 means that the codomains of u and v are disjoint and that their direct sum is H.

Partial permutations and partial isometries

We will now define our proof space which turns out to be the set of partial isometries acting as permutations on a fixed basis of H.

More precisely a partial permutation \varphi on \mathbb{N} is a function defined on a subset D_\varphi of \mathbb{N} which is one-to-one onto a subset C_\varphi of \mathbb{N}. D_\varphi is called the domain of \varphi and C_\varphi its codomain. Partial permutations may be composed: if ψ is another partial permutation on \mathbb{N} then \varphi\circ\psi is defined by:

  • n\in D_{\varphi\circ\psi} iff n\in D_\psi and \psi(n)\in D_\varphi;
  • if n\in D_{\varphi\circ\psi} then \varphi\circ\psi(n) = \varphi(\psi(n));
  • the codomain of \varphi\circ\psi is the image of the domain.

Partial permutations are well known to form a structure of inverse monoid that we detail now.

A partial identitie is a partial permutation 1D whose domain and codomain are both equal to a subset D on which 1D is the identity function. Partial identities are idempotent for composition.

Among partial identities one finds the identity on the empty subset, that is the empty map, that we will denote by 0 and the identity on \mathbb{N} that we will denote by 1. This latter permutation is the neutral for composition.

If \varphi is a partial permutation there is an inverse partial permutation \varphi^{-1} whose domain is D_{\varphi^{-1}} = C_{\varphi} and who satisfies:

\varphi^{-1}\circ\varphi = 1_{D_\varphi}
\varphi\circ\varphi^{-1} = 1_{C_\varphi}

Given a partial permutation \varphi one defines a partial isometry u_\varphi by:

u_\varphi(e_n) = 
   \begin{cases}
     e_{\varphi(n)} & \text{ if }n\in D_\varphi,\\
     0              & \text{ otherwise.}
   \end{cases}

In other terms if x=(x_n)_{n\in\mathbb{N}} is a sequence in \ell^2 then u_\varphi(x) is the sequence (y_n)_{n\in\mathbb{N}} defined by:

y_n = x_{\varphi^{-1}(n)} if n\in C_\varphi, 0 otherwise.

We will (not so abusively) write e_{\varphi(n)} = 0 when \varphi(n) is undefined so that may shorten the definition of u_\varphi into:

u_\varphi(e_n) = e_{\varphi(n)}.

The domain of u_\varphi is the subspace spanned by the family (e_n)_{n\in D_\varphi} and the codomain of u_\varphi is the subspace spanned by (e_n)_{n\in C_\varphi}. As a particular case if \varphi is 1D the partial identity on D then u_\varphi is the projector on the subspace spanned by (e_n)_{n\in D}.

Proposition

Let \varphi and ψ be two partial permutations. We have:

u_\varphi u_\psi = u_{\varphi\circ\psi}.

The adjoint of u_\varphi is:

u_\varphi^* = u_{\varphi^{-1}}.

In particular the initial projector of u_{\varphi} is given by:

u_\varphi u^*_\varphi = u_{1_{D_\varphi}}.

and the final projector of u_\varphi is:

u^*_\varphi u_\varphi = u_{1_{C_\varphi}}.

Projectors generated by partial identities commute; in particular we have:

u_\varphi u_\varphi^*u_\psi u_\psi^* = u_\psi u_\psi^*u_\varphi u_\varphi^*.

Definition

We call p-isometry a partial isometry of the form u_\varphi where \varphi is a partial permutation on \mathbb{N}. The proof space \mathcal{P} is the set of all p-isometries.

In particular note that 0 is a p-isometry. The set \mathcal{P} is a submonoid of \mathcal{B}(H) but it is not a subalgebra[4]. In general given u,v\in\mathcal{P} we don't necessarily have u+v\in\mathcal{P}. However we have:

Proposition

Let u, v\in\mathcal{P}. Then u+v\in\mathcal{P} iff u and v have disjoint domains and disjoint codomains, that is:

u+v\in\mathcal{P} iff uu * vv * = u * uv * v = 0.

Suppose for contradiction that en is in the domain of u and in the domain of v. As u and v are p-isometries there are integers p and q such that u(en) = ep and v(en) = eq thus (u + v)(en) = ep + eq which is not a basis vector; therefore u + v is not a p-permutation.

As a corollary note that if u + v = 0 then u = v = 0.

From operators to matrices: internalization/externalization

It will be convenient to view operators on H as acting on H\oplus H, and conversely. For this purpose we define an isomorphism H\oplus H \cong H by x\oplus y\rightsquigarrow p(x)+q(y) where p:H\mapsto H and q:H\mapsto H are partial isometries given by:

p(en) = e2n,
q(en) = e2n + 1.

From the definition p and q have full domain, that is satisfy p * p = q * q = 1. On the other hand their codomains are disjoint, thus we have p * q = q * p = 0. As the sum of their codomains is the full space H we also have pp * + qq * = 1.

Note that we have choosen p and q in \mathcal{P}. However the choice is arbitrary: any two p-isometries with full domain and disjoint codomains would do the job.

Given an operator u on H we may externalize it obtaining an operator U on H\oplus H defined by the matrix:

U = \begin{pmatrix}
  u_{11} & u_{12}\\
  u_{21} & u_{22}
  \end{pmatrix}

where the uij's are given by:

u11 = p * up;
u12 = p * uq;
u21 = q * up;
u22 = q * uq.

The uij's are called the components of u. The externalization is functorial in the sense that if v is another operator externalized as:

V = \begin{pmatrix}
  v_{11} & v_{12}\\
  v_{21} & v_{22}
  \end{pmatrix} 
= \begin{pmatrix}
  p^*vp & p^*vq\\
  q^*vp & q^*vq
  \end{pmatrix}

then the externalization of uv is UV.

We also have:

u = (pp * + qq * )u(pp * + qq * ) = pu11p * + pu12q * + qu21p * + qu22q *

which entails that externalization is reversible, its converse being called internalization.

Furthermore if we suppose that u is a p-isometry then so are the components uij's. Thus the formula above entails that the four terms of the sum have pairwise disjoint domains and pairwise disjoint codomains. Proposition

If u is a p-isometry and uij are its external components then:

  • u1j and u2j have disjoint domains, that is u_{1j}^*u_{1j}u_{2j}^*u_{2j} = 0 for j = 1,2;
  • ui1 and ui2 have disjoint codomains, that is u_{i1}u_{i1}^*u_{i2}u_{i2}^* = 0 for i = 1,2.

As an example of computation in \mathcal{P} let us compute the product of the final projectors of pu11p * and pu12q * :

\begin{align}
    (pu_{11}p^*)(pu^*_{11}p^*)(pu_{12}q^*)(qu_{12}^*p^*)
    &= (pp^*upp^*)(pp^*u^*pp^*)(pp^*uqq^*)(qq^*u^*pp^*)\\
    &= pp^*upp^*u^*pp^*uqq^*u^*pp^*\\
    &= pp^*u(pp^*)(u^*pp^*u)qq^*u^*pp^*\\
    &= pp^*u(u^*pp^*u)(pp^*)qq^*u^*pp^*\\
    &= pp^*uu^*pp^*u(pp^*)(qq^*)u^*pp^*\\
    &= 0
  \end{align}

where we used the fact that all projectors in \mathcal{P} commute, which is in particular the case of pp * and u * pp * u.

Interpreting the multiplicative connectives

Recall that when u and v are partial isometries in \mathcal{P} we say they are dual when uv is nilpotent, and that \bot denotes the set of nilpotent operators. A type is a subset of \mathcal{P} that is equal to its bidual. In particular X\orth is a type for any X\subset\mathcal{P}. We say that X generates the type X\biorth.

The tensor and the linear application

If u and v are two p-isometries summing them doesn't in general produces a p-isometry. However as pup * and qvq * have disjoint domains and disjoint codomains it is true that pup * + qvq * is a p-isometry. Given two types A and B, we thus define their tensor by:

A\tens B = \{pup^* + qvq^*, u\in A, v\in B\}\biorth

Note the closure by bidual to make sure that we obtain a type.

From what precedes we see that A\tens B is generated by the internalizations of operators on H\oplus H of the form:

\begin{pmatrix}
   u & 0\\
   0 & v
  \end{pmatrix}

Note that this so-called tensor resembles a sum rather than a product. We will stick to this terminology though because it defines the interpretation of the tensor connective of linear logic.

The linear implication is derived from the tensor by duality: given two types A and B the type A\limp B is defined by:

A\limp B = (A\tens B\orth)\orth.

Unfolding this definition we get:

A\limp B = \{u\in\mathcal{P}\text{ s.t. } \forall v\in A, \forall w\in B\orth,\, u.(pvp^* + qwq^*) \in\bot\}.

The identity

The interpretation of the identity is an example of internalization. Given a type A we are to find an operator ι in type A\limp A, thus satisfying:

\forall u\in A, v\in A\orth,\, \iota(pup^* + qvq^*)\in\bot.

An easy solution is to take ι = pq * + qp * . In this way we get ι(pup * + qvq * ) = qup * + pvq * . Therefore (ι(pup * + qvq * ))2 = quvq * + pvup * , from which one deduces that this operator is nilpotent iff uv is nilpotent. It is the case since u is in A and v in A\orth.

It is interesting to note that the ι thus defined is actually the internalization of the operator on H\oplus H given by the matrix:

\begin{pmatrix}0 & 1\\1 & 0\end{pmatrix}.

We will see once the composition is defined that the ι operator is the interpretation of the identity proof, as expected.

The execution formula, version 1: application

Definition

Let u and v be two operators; as above denote by uij the external components of u. Assume that u11v is nilpotent. We define a new operator App(u,v) by:

App(u,v) = u22 + u21v(u11v)ku11
k

.

Note that the hypothesis that u11v is nilpotent entails that the sum

(u11v)k
k

is actually finite. It would be enough to assume that this sum converges. For simplicity we stick to the nilpotency condition, but we should mention that weak nilpotency would do as well.

Theorem

If u and v are p-isometries such that u11v is nilpotent, then App(u,v) is also a p-isometry.

Proof.  Let us note Ek = u21v(u11v)ku12. Recall that u22 and u12 being external components of the p-isometry u, they have disjoint domains. Thus it is also the case of u22 and Ek. Similarly u22 and Ek have disjoint codomains because u22 and u21 have disjoint codomains.

Let now k and l be two integers such that k > l and let us compute for example the intersection of the codomains of Ek and El:


    E_kE^*_kE_lE^*_l = (u_{21}v(u_{11}v)^ku_{12})(u^*_{12}(v^*u^*_{11})^kv^*u^*_{21})(u_{21}v(u_{11}v)^lu_{12})(u^*_{12}(v^*u^*_{11})^lv^*u_{21}^*)

As k > l we may write (v^*u_{11}^*)^l = (v^*u^*_{11})^{k-l-1}v^*u^*_{11}(v^*u^*_{11})^l. Let us note E = u^*_{11}(v^*u^*_{11})^lv^*u_{21}^*u_{21}v(u_{11}v)^lu_{12} so that E_kE^*_kE_lE^*_l = u_{21}v(u_{11}v)^ku_{12}u^*_{12}(v^*u^*_{11})^{k-l-1}v^*Eu^*_{12}(v^*u^*_{11})^lv^*u_{21}^*. We have:

\begin{align}
     E &= u^*_{11}(v^*u^*_{11})^lv^*u_{21}^*u_{21}v(u_{11}v)^lu_{12}\\
       &= (u^*_{11}u_{11}u^*_{11})(v^*u^*_{11})^lv^*u_{21}^*u_{21}v(u_{11}v)^lu_{12}\\
       &= u^*_{11}(u_{11}u^*_{11})\bigl((v^*u^*_{11})^lv^*u_{21}^*u_{21}v(u_{11}v)^l\bigr)u_{12}\\
       &= u^*_{11}\bigl((v^*u^*_{11})^lv^*u_{21}^*u_{21}v(u_{11}v)^l\bigr)(u_{11}u^*_{11})u_{12}\\
       &= u^*_{11}(v^*u^*_{11})^lv^*u_{21}^*u_{21}v(u_{11}v)^lu_{11}u^*_{11}u_{12}\\
       &= 0
  \end{align}

because u11 and u12 have disjoint codomains, thus u^*_{11}u_{12} = 0.

Similarly we can show that Ek and El have disjoint domains. Therefore we have proved that all terms of the sum App(u,v) have disjoint domains and disjoint codomains. Consequently App(u,v) is a p-isometry.

Theorem

Let A and B be two types and u a p-isometry. Then the two following conditions are equivalent:

  1. u\in A\limp B;
  2. for any v\in A we have:
    • u11v is nilpotent and
    • \mathrm{App}(u, v)\in B.

Proof.  Let v and w be two p-isometries. If we compute

(u.(pvp^* + qwq^*))^n = \bigl((pu_{11}p^* + pu_{12}q^* + qu_{21}p^* + qu_{22}q^*)(pvp^* + qwq^*)\bigr)^n

we get a finite sum of monomial operators of the form:

  1. p(u_{11}v)^{i_0}u_{12}w(u_{22}w)^{i_1}\dots u_{21}v(u_{11}v)^{i_m}p^*
  2. p(u_{11}v)^{i_0}u_{12}w(u_{22}w)^{i_1}\dots u_{12}w(u_{22}w)^{i_m}q^*,
  3. q(u_{22}w)^{i_0}u_{21}v(u_{11}v)^{i_1}\dots u_{21}v(u_{11}v)^{i_m}p^* or
  4. q(u_{22}w)^{i_0}u_{21}v(u_{11}v)^{i_1}\dots u_{12}w(u_{22}w)^{i_m}q^*,

for all tuples of integers (i_1,\dots, i_m) such that i_0+\cdots+i_m+m = n.

Each of these monomial is a p-isometry. Furthermore they have disjoint domains and disjoint codomains because their sum is the p-isometry (u.(pvp * + qwq * ))n.

Suppose u11v is nilpotent and consider:

\bigl(\mathrm{App}(u,v)w\bigr)^n = \biggl(\bigl(u_{22} + u_{21}v\sum_k(u_{11}v)^k u_{12}\bigr)w\biggr)^n.

Developping we get a finite sum of monomials of the form:

(u_{22}w)^{l_0}u_{21}v(u_{11}v)^{k_1}u_{12}w(u_{22}w)^{l_1}\dots u_{21}v(u_{11}v)^{k_m}u_{12}w(u_{22}w)^{l_m}

for all tuples (l_0,\dots, l_m) such that l_0\cdots l_m + m = n.

Again as these monomials are p-isometries and their sum is the p-isometry (App(u,v)w)n, they have pairwise disjoint domains and pairwise disjoint codomains. Note that each of these monomial is equal to q * Mq where M is a monomial of type 4 above.

Suppose now that u\in A\limp B and v\in A. Then, since 0\in B\orth (0 belongs to any type) u.(pvp * ) = pu11vp * is nilpotent, thus u11v is nilpotent.

Suppose further that w\in B\orth. Then u.(pvp * + qwq * ) is nilpotent, thus there is a N such that (u.(pvp * + qwq * ))n = 0 for any n\geq N. This entails that all monomials of type 1 to 4 are null because they have disjoint domains and disjoint codomains. Therefore all monomials appearing in the developpment of (App(u,v)w)N are null which proves that App(u,v)w is nilpotent. Thus \mathrm{App}(u,v)\in B.

Conversely suppose for any v\in A and w\in B\orth, u11v and App(u,v)w are nilpotent. Let P and N be their respective degrees of nilpotency and put n = N(P + 1) + N. Then we claim that all monomials appearing in the development of (u.(pvp * + qwq * ))n are null.

Consider for example a monomial of type 1:

p(u_{11}v)^{i_0}u_{12}w(u_{22}w)^{i_1}\dots u_{21}v(u_{11}v)^{i_m}p^*.

If i_{2k}\geq P for some 0\leq k\leq m/2 then (u_{11}v)^{i_{2k}}=0. Otherwise if i2k < P for all k then as we have:

i_0+\cdots+i_m + m = n

we deduce:

i_1+i_3+\cdots +i_{m-1} + m/2 = n - m/2 - (i_0+i_2+\cdots +i_m)

thus:

i_1+i_3+\cdots +i_{m-1}\geq n - (m/2)(1+P).

Now if m/2\geq N then i_1+\cdots+i_{m-1}+m/2 \geq N. Otherwise m / 2 < N and

i_1+i_3+\cdots +i_{m-1}\geq n - N(1+P) = N.

Since N is the degree of nilpotency of App(u,v)w we have that the monomial:

(u_{22}w)^{i_1}u_{21}v(u_{11}v)^{i_2}u_{12}w\dots(u_{11}v)^{i_{m-2}}u_{12}w(u_{22}w)^{i_{m-1}}

is null. Thus so is the monomial of type 1 we started with.

Corollary

If A and B are types then we have:

A\limp B = \{u\in\mathcal{P} \text{ such that }\forall v\in A: u_{11}v\in\bot\text{ and } \mathrm{App}(u, v)\in B\}.

As an example if we compute the application of the interpretation of the identity ι in type A\limp A to the operator v\in A then we have:

\mathrm{App}(\iota, v) = \iota_{22} + \iota_{21}v\sum(\iota_{11}v)^k\iota_{12}.

Now recall that ι = pq * + qp * so that ι11 = ι22 = 0 and ι12 = ι21 = 1 and we thus get:

App(ι,v) = v

as expected.

The tensor rule

Let now A,A',B and B' be types and consider two operators u and u' respectively in A\limp B and A\limp B'. We define an operator denoted by u\tens u' by:

\begin{align}
    u\tens u' &= ppp^*upp^*p^* + qpq^*upp^*p^* + ppp^*uqp^*q^* + qpq^*uqp^*q^*\\
              &+ pqp^*u'pq^*p^* + qqq^*u'pq^*p^* + pqp^*u'qq^*q^* + qqq^*u'qq^*q^*
  \end{align}

Once again the notation is motivated by linear logic syntax and is contradictory with linear algebra practice since what we denote by u\tens u' actually is the internalization of the direct sum u\oplus u'.

Indeed if we think of u and u' as the internalizations of the matrices:


    \begin{pmatrix}u_{11}   & u_{12}\\
                   u_{21}   & u_{22}
    \end{pmatrix}
  and 
    \begin{pmatrix}u'_{11} & u'_{12}\\
                   u'_{21} & u'_{22}
    \end{pmatrix}

then we may write:

\begin{align}
    u\tens u' &= ppu_{11}p^*p^* + qpu_{21}p^*p^* + ppu_{12}p^*q^* + qpu_{22}p^*q^*\\
              &+ pqu'_{11}q^*p^* + qqu'_{21}q^*p^* + pqu'_{12}q^*q^* + qqu'_{22}q^*q^*
  \end{align}

Thus the components of u\tens u' are given by:

(u\tens u')_{ij} = pu_{ij}p^* + qu'_{ij}q^*.

and we see that u\tens u' is actually the internalization of the matrix:


    \begin{pmatrix}
      u_{11} & 0       & u_{12}  & 0       \\
      0      & u'_{11} & 0       & u'_{12} \\
      u_{21} & 0       & u_{22}  & 0       \\
      0      & u'_{21} & 0       & u'_{22} \\
    \end{pmatrix}

We are now to show that if we suppose uand u' are in types A\limp B and A'\limp B', then u\tens u' is in A\tens A'\limp B\tens B'. For this we consider v and v' in respectively in A and A', so that pvp * + qv'q * is in A\tens A', and we show that \mathrm{App}(u\tens u', pvp^* + qv'q^*)\in B\tens B'.

Since u and u' are in A\limp B and A'\limp B' we have that App(u,v) and App(u',v') are respectively in B and B', thus:

p\mathrm{App}(u, v)p^* + q\mathrm{App}(u', v')q^* \in B\tens B'.

We know that both u11v and u'11v' are nilpotent. But we have:

\begin{align}
    \bigl((u\tens u')_{11}(pvp^* + qv'q^*)\bigr)^n
      &= \bigl((pu_{11} + qu'_{11}q^*)(pvp^* + qv'q^*)\bigr)^n\\
      &= (pu_{11}vp^* + qu'_{11}v'q^*)^n\\
      &= p(u_{11}v)^np^* + q(u'_{11}v')^nq^*
  \end{align}

Therefore (u\tens u')_{11}(pvp^* + qv'q^*) is nilpotent. So we can compute \mathrm{App}(u\tens u', pvp^* + qv'q^*):

\begin{align}
    &\mathrm{App}(u\tens u', pvp^* + qv'q^*)\\
      &= (u\tens u')_{22} + (u\tens u')_{21}(pvp^* + qv'q^*)\sum\bigl((u\tens u')_{11}(pvp^* + qv'q^*)\bigr)^k(u\tens u')_{12}\\
      &= pu_{22}p^* + qu'_{22}q^* + (pu_{21}p^* + qu'_{21}q^*)(pvp^* + qv'q^*)\sum\bigl((pu_{11}p^* + qu'_{11}q^*)(pvp^* + qv'q^*)\bigr)^k(pu_{12}p^* + qu'_{12}q^*)\\
      &= p\bigl(u_{22} + u_{21}v\sum(u_{11}v)^ku_{12}\bigr)p^* + q\bigl(u'_{22} + u'_{21}v'\sum(u'_{11}v')^ku'_{12}\bigr)q^*\\
      &= p\mathrm{App}(u, v)p^* + q\mathrm{App}(u', v')q^*
  \end{align}

thus lives in B\tens B'.

Other monoidal constructions

Contraposition

Let A and B be some types; we have:

A\limp B = A\orth\limpinv B\orth

Indeed, u\in A\limp B means that for any v and w in respectively A and B\orth we have u.(pvp^* + qwq^*)\in\bot which is exactly the definition of A\orth\limpinv B\orth.

We will denote u\orth the operator:

u\orth = pu_{22}p^* + pu_{12}q^* + qu_{12}p^* + qu_{11}q^*

where uij is given by externalization. Therefore the externalization of u\orth is:

(u\orth)_{ij} = u_{\bar i\,\bar j} where \bar . is defined by \bar1 = 2, \bar2 = 1.

From this we deduce that u\orth\in B\orth\limp A\orth and that (u\orth)\orth = u.

Commutativity

Let σ be the operator:

σ = ppq * q * + pqp * q * + qpq * p * + qqp * p * .

One can check that σ is the internalization of the operator S on H\oplus H\oplus H\oplus H defined by: S(x_1\oplus x_2\oplus x_3\oplus x_4) = x_4\oplus x_3\oplus x_2\oplus x_1. In particular the components of σ are:

σ11 = σ22 = 0;
σ12 = σ21 = pq * + qp * .

Let A and B be types and u and v be operators in A and B. Then pup * + qvq * is in A\tens B and as σ11.(pup * + qvq * ) = 0 we may compute:

\begin{align}
    \mathrm{App}(\sigma, pup^* + qvq^*) 
      &= \sigma_{22} + \sigma_{21}(pup^* + qvq^*)\sum(\sigma_{11}(pup^* + qvq^*))^k\sigma_{12}\\
      &= (pq^* + qp^*)(pup^* + qvq^*)(pq^* + qp^*)\\
      &= pvp^* + quq^*
   \end{align}

But pvp^* + quq^*\in B\tens A, thus we have shown that:

\sigma\in (A\tens B) \limp (B\tens A).

Distributivity

We get distributivity by considering the operator:

δ = ppp * p * q * + pqpq * p * q * + pqqq * q * + qppp * p * + qpqp * q * p * + qqq * q * p *

that is similarly shown to be in type A\tens(B\tens C)\limp(A\tens B)\tens C for any types A, B and C.


Weak distributivity

We can finally get weak distributivity thanks to the operators:

δ1 = pppp * q * + ppqp * q * q * + pqq * q * q * + qpp * p * p * + qqpq * p * p * + qqqq * p * and
δ2 = ppp * p * q * + pqpq * p * q * + pqqq * q * + qppp * p * + qpqp * q * p * + qqq * q * p * .

Given three types A, B and C then one can show that:

δ1 has type ((A\limp B)\tens C)\limp A\limp (B\tens C) and
δ2 has type (A\tens(B\limp C))\limp (A\limp B)\limp C.

Execution formula, version 2: composition

Let A, B and C be types and u and v be operators respectively in types A\limp B and B\limp C.

As usual we will denote uij and vij the operators obtained by externalization of u and v, eg, u11 = p * up, ...

As u is in A\limp B we have that \mathrm{App}(u, 0)=u_{22}\in B; similarly as v\in B\limp C, thus v\orth\in C\orth\limp B\orth, we have \mathrm{App}(v\orth, 0) = v_{11}\in B\orth. Thus u22v11 is nilpotent.

We define the operator Comp(u,v) by:

\begin{align}
    \mathrm{Comp}(u, v) &= p(u_{11} + u_{12}\sum(v_{11}u_{22})^k\,v_{11}u_{21})p^*\\
                        &+ p(u_{12}\sum(v_{11}u_{22})^k\,v_{12})q^*\\
                        &+ q(v_{21}\sum(u_{22}v_{11})^k\,u_{21})p^*\\
			&+ q(v_{22} + v_{21}\sum(u_{22}v_{11})^k\,u_{22}v_{12})q^*
  \end{align}

This is well defined since u11v22 is nilpotent. As an example let us compute the composition of u and ι in type B\limp B; recall that ιij = δij, so we get:

Comp(u,ι) = pu11p * + pu12q * + qu21p * + qu22q * = u

Similar computation would show that Comp(ι,v) = v (we use pp * + qq * = 1 here).

Coming back to the general case we claim that Comp(u,v) is in A\limp C: let a be an operator in A. By computation we can check that:

App(Comp(u,v),a) = App(v,App(u,a)).

Now since u is in A\limp B, App(u,a) is in B and since v is in B\limp C, App(v,App(u,a)) is in C.

If we now consider a type D and an operator w in C\limp D then we have:

Comp(Comp(u,v),w) = Comp(u,Comp(v,w)).

Putting together the results of this section we finally have: Theorem

Let GoI(H) be defined by:

  • objects are types, ie sets A of operators satisfying: A\biorth = A;
  • morphisms from A to B are operators in type A\limp B;
  • composition is given by the formula above.

Then GoI(H) is a star-autonomous category.

The Geometry of Interaction as an abstract machine


Cite error: <ref> tags exist, but no <references/> tag was found
Personal tools