<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>
<channel>
	<title>Comments on: Plain containers and linear logic&#8230;</title>
	<atom:link href="http://sneezy.cs.nott.ac.uk/containers/blog/?feed=rss2&#038;p=24" rel="self" type="application/rss+xml" />
	<link>http://sneezy.cs.nott.ac.uk/containers/blog/?p=24</link>
	<description>East Midlands Containers Ltd.</description>
	<pubDate>Wed, 22 May 2013 16:51:41 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5.1</generator>
		<item>
		<title>By: Hank</title>
		<link>http://sneezy.cs.nott.ac.uk/containers/blog/?p=24#comment-21</link>
		<dc:creator>Hank</dc:creator>
		<pubDate>Mon, 12 Sep 2005 23:40:03 +0000</pubDate>
		<guid isPermaLink="false">http://sneezy.cs.nott.ac.uk/containers/?p=24#comment-21</guid>
		<description>Concerning setoids, the "Container Gang" before the Coming of Hancock, have a paper Constructing Polymorphic Programs with Quotient Types from 2004 explaining the East Midlands take on quotienting the positions.  (You probably have had a look.)

Conor has some further ideas that must be somehow related about putting well-orders on positions, that are somewhere in this blog.  They both seem
to involve putting some structure on positions. 

I am very curious about the relations between containers with quotients and "species of structures" a la Fiore/Joyal/.. .  Species seem very oriented towards data-structures with a finite number of distinguishable positions.</description>
		<content:encoded><![CDATA[<p>Concerning setoids, the &#8220;Container Gang&#8221; before the Coming of Hancock, have a paper Constructing Polymorphic Programs with Quotient Types from 2004 explaining the East Midlands take on quotienting the positions.  (You probably have had a look.)</p>
<p>Conor has some further ideas that must be somehow related about putting well-orders on positions, that are somewhere in this blog.  They both seem<br />
to involve putting some structure on positions. </p>
<p>I am very curious about the relations between containers with quotients and &#8220;species of structures&#8221; a la Fiore/Joyal/.. .  Species seem very oriented towards data-structures with a finite number of distinguishable positions.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: PierreH</title>
		<link>http://sneezy.cs.nott.ac.uk/containers/blog/?p=24#comment-20</link>
		<dc:creator>PierreH</dc:creator>
		<pubDate>Mon, 05 Sep 2005 09:49:36 +0000</pubDate>
		<guid isPermaLink="false">http://sneezy.cs.nott.ac.uk/containers/?p=24#comment-20</guid>
		<description>About multisets in type theory:

the easiest is probably to use setoids and define [tex]\mathcal{M}(S,\equiv) := (\mathbf{List}(S),\approx)[/tex], where [tex]\approx[/tex] is just the "quotient" of [tex]\equiv[/tex] modulo permutations of lists.

(Of course, we must require that the family of shapes is a family of setoids, indexed by a setoid: it must respect equality... This gets very messy...)

Then, an action/shape is just given by a tuple [tex][s_1,\ldots,s_n][/tex], and a reaction/position is just a tuple of [tex][p_1,\ldots,p_n][/tex], where each [tex]p_i[/tex] is a position in shape [tex]s_i[/tex].


Note that this is not the same as the bang defined on interaction systems, since the number of actions/shapes is not determined by the state. In particular, while iterating the container, the number of shapes can change.


That [tex]!C[/tex] is the free [tex]\otimes[/tex] comonoid just means that it is the "smallest" such comonoid:
  (1) there is an arrow [tex] e : !C \to \mathbf{Skip}[/tex]
  (2) there is an arrow [tex] !C \to !C \otimes !C[/tex]
Those arrows satisfy some commutativity and associativity diagrams, and are universal in some sense ("free").

A more abstract way to look at it is by saying that the functor [tex]!\_[/tex] from the category of containers to the category of [tex]\otimes[/tex]-comonoids is adjoint to the obvious forgetful functor from [tex]\otimes[/tex]-comonoids to the containers...


All of this seems very important to LL people, but I have to admit I don't have strong intuitions about them...




About the link between container morphisms and simulations between interaction systems: the relation seems very subtle. When I wrote that container morphisms are all "equal" I had the "classical" notion of simulation: usual relations. In the case of containers, the set of states are trivial: [tex]\{*\}[/tex]. There is only one non-empty relation between two such sets: [tex]\{(*,*)\}[/tex].

In a constructive setting, this is far more complex than that!</description>
		<content:encoded><![CDATA[<p>About multisets in type theory:</p>
<p>the easiest is probably to use setoids and define <img src='/containers/latexrender/pictures/4511ec39c0cde609cab58b4833d063ff.png' title='\mathcal{M}(S,\equiv) := (\mathbf{List}(S),\approx)' alt='\mathcal{M}(S,\equiv) := (\mathbf{List}(S),\approx)' align=absmiddle/>, where <img src='/containers/latexrender/pictures/fb4f353ef9a72c24566678c957a5ae9f.png' title='\approx' alt='\approx' align=absmiddle/> is just the &#8220;quotient&#8221; of <img src='/containers/latexrender/pictures/851ffc531f462fd9c1fd2bcc1340c453.png' title='\equiv' alt='\equiv' align=absmiddle/> modulo permutations of lists.</p>
<p>(Of course, we must require that the family of shapes is a family of setoids, indexed by a setoid: it must respect equality&#8230; This gets very messy&#8230;)</p>
<p>Then, an action/shape is just given by a tuple <img src='/containers/latexrender/pictures/9b3bfbef1f753f26b2594fb3ccccb4b5.png' title='[s_1,\ldots,s_n]' alt='[s_1,\ldots,s_n]' align=absmiddle/>, and a reaction/position is just a tuple of <img src='/containers/latexrender/pictures/c503530328bd3a6e5ffe6a81b2c941b6.png' title='[p_1,\ldots,p_n]' alt='[p_1,\ldots,p_n]' align=absmiddle/>, where each <img src='/containers/latexrender/pictures/eca91c83a74a2373ca5f796700e99fd3.png' title='p_i' alt='p_i' align=absmiddle/> is a position in shape <img src='/containers/latexrender/pictures/e406ac4d7c470823a8619c13dd7101be.png' title='s_i' alt='s_i' align=absmiddle/>.</p>
<p>Note that this is not the same as the bang defined on interaction systems, since the number of actions/shapes is not determined by the state. In particular, while iterating the container, the number of shapes can change.</p>
<p>That <img src='/containers/latexrender/pictures/40664d99b23771f028a7550a0417c5b1.png' title='!C' alt='!C' align=absmiddle/> is the free <img src='/containers/latexrender/pictures/790c76ceb13e928d08edc53d7ac4bb5c.png' title='\otimes' alt='\otimes' align=absmiddle/> comonoid just means that it is the &#8220;smallest&#8221; such comonoid:<br />
  (1) there is an arrow <img src='/containers/latexrender/pictures/bb73b9238092b54fac13744a768eae85.png' title=' e : !C \to \mathbf{Skip}' alt=' e : !C \to \mathbf{Skip}' align=absmiddle/><br />
  (2) there is an arrow <img src='/containers/latexrender/pictures/ebd94625574ea8f49d17f5a5de944c3e.png' title=' !C \to !C \otimes !C' alt=' !C \to !C \otimes !C' align=absmiddle/><br />
Those arrows satisfy some commutativity and associativity diagrams, and are universal in some sense (&#8221;free&#8221;).</p>
<p>A more abstract way to look at it is by saying that the functor <img src='/containers/latexrender/pictures/24a7bed37c133465f71efd12c77bf69b.png' title='!\_' alt='!\_' align=absmiddle/> from the category of containers to the category of <img src='/containers/latexrender/pictures/790c76ceb13e928d08edc53d7ac4bb5c.png' title='\otimes' alt='\otimes' align=absmiddle/>-comonoids is adjoint to the obvious forgetful functor from <img src='/containers/latexrender/pictures/790c76ceb13e928d08edc53d7ac4bb5c.png' title='\otimes' alt='\otimes' align=absmiddle/>-comonoids to the containers&#8230;</p>
<p>All of this seems very important to LL people, but I have to admit I don&#8217;t have strong intuitions about them&#8230;</p>
<p>About the link between container morphisms and simulations between interaction systems: the relation seems very subtle. When I wrote that container morphisms are all &#8220;equal&#8221; I had the &#8220;classical&#8221; notion of simulation: usual relations. In the case of containers, the set of states are trivial: <img src='/containers/latexrender/pictures/c8b0d3cf16aa2d43cc589e7151f3aae4.png' title='\{*\}' alt='\{*\}' align=absmiddle/>. There is only one non-empty relation between two such sets: <img src='/containers/latexrender/pictures/98eed2f0b3aa0f29cf08e0333bbc3dd4.png' title='\{(*,*)\}' alt='\{(*,*)\}' align=absmiddle/>.</p>
<p>In a constructive setting, this is far more complex than that!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Hank</title>
		<link>http://sneezy.cs.nott.ac.uk/containers/blog/?p=24#comment-19</link>
		<dc:creator>Hank</dc:creator>
		<pubDate>Fri, 02 Sep 2005 05:08:36 +0000</pubDate>
		<guid isPermaLink="false">http://sneezy.cs.nott.ac.uk/containers/?p=24#comment-19</guid>
		<description>I don't completely understand "all the container morphisms are equal when seen as interaction system morphisms".  The relation between these two
kinds of morphisms seems very subtle.   It seems to me that a dependent
container morphism (one with a *function* mapping high-level sorts to 
low-level sorts) is the same as an interaction system morphism which happens to be (the graph of) a total function. 

I can see, I think, that several different container morphisms can "satisfy" extensionally the same simulation relation, but not that all container morphisms are extensionally equal.</description>
		<content:encoded><![CDATA[<p>I don&#8217;t completely understand &#8220;all the container morphisms are equal when seen as interaction system morphisms&#8221;.  The relation between these two<br />
kinds of morphisms seems very subtle.   It seems to me that a dependent<br />
container morphism (one with a *function* mapping high-level sorts to<br />
low-level sorts) is the same as an interaction system morphism which happens to be (the graph of) a total function. </p>
<p>I can see, I think, that several different container morphisms can &#8220;satisfy&#8221; extensionally the same simulation relation, but not that all container morphisms are extensionally equal.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Hank</title>
		<link>http://sneezy.cs.nott.ac.uk/containers/blog/?p=24#comment-17</link>
		<dc:creator>Hank</dc:creator>
		<pubDate>Thu, 01 Sep 2005 10:56:09 +0000</pubDate>
		<guid isPermaLink="false">http://sneezy.cs.nott.ac.uk/containers/?p=24#comment-17</guid>
		<description>About representing multisets in type theory, one option
seems to be as a quotient of [tex] $(\Sigma\,n : N) n \rightarrow S$ [/tex]
(here the second "n" is being used for the set "Fin(b)" or 
[tex] $ \{ i : N \,&#124;\, i  S$ [/tex]. 

About Pierre's suggestion for a bang on plain containers,  I take
it the idea is that 

&lt;blockquote&gt;


(1)

 an angel's move (shape) in the bang of a contrainer is a multiset of angel's moves (shapes) in the unbagged container [tex] $(C!).A  = (C.A)!$[/tex].  We now have to arrange that the set of positions for a shape does not depend on the particular order in which a shape is given.

(2)

 a demon's response (position) to an angel's move [tex] $a = [a_0,...,a_{n-1}]$ [/tex] is (represented by) a permutation p of dom(a), and a function [tex] $d : (\Pi i : dom(a)) \rightarrow (C.D)(a(p(i)))$ [/tex]. Equality of representations is modulo permutations. 
 

&lt;/blockquote&gt;



It is as iff the angel has an inexhaustible supply of slave devices
to which she can issue as many commands in parallel as she likes
(possibly none).  But she has to wait for all the responses.  

What does one have to show about this?  That C! is the free [tex]$\otimes$[/tex] comonoid generated by C?  What is this in layman's
terms?</description>
		<content:encoded><![CDATA[<p>About representing multisets in type theory, one option<br />
seems to be as a quotient of <img src='/containers/latexrender/pictures/5543c26148def9d025ac69573e2440aa.png' title=' $(\Sigma\,n : N) n \rightarrow S$ ' alt=' $(\Sigma\,n : N) n \rightarrow S$ ' align=absmiddle/><br />
(here the second &#8220;n&#8221; is being used for the set &#8220;Fin(b)&#8221; or<br />
<img src='/containers/latexrender/pictures/fea70a21c2090d4b96dc6c3a0d526a9f.png' title=' $ \{ i : N \,|\, i  S$ ' alt=' $ \{ i : N \,|\, i  S$ ' align=absmiddle/>. </p>
<p>About Pierre&#8217;s suggestion for a bang on plain containers,  I take<br />
it the idea is that </p>
<blockquote>
<p>(1)</p>
<p> an angel&#8217;s move (shape) in the bang of a contrainer is a multiset of angel&#8217;s moves (shapes) in the unbagged container <img src='/containers/latexrender/pictures/99e3ae53dcd087530e94aeada7ff0bcd.png' title=' $(C!).A  = (C.A)!$' alt=' $(C!).A  = (C.A)!$' align=absmiddle/>.  We now have to arrange that the set of positions for a shape does not depend on the particular order in which a shape is given.</p>
<p>(2)</p>
<p> a demon&#8217;s response (position) to an angel&#8217;s move <img src='/containers/latexrender/pictures/c9c24d0b7a963da99a1e9e7ec6f97106.png' title=' $a = [a_0,...,a_{n-1}]$ ' alt=' $a = [a_0,...,a_{n-1}]$ ' align=absmiddle/> is (represented by) a permutation p of dom(a), and a function <img src='/containers/latexrender/pictures/75f25c8e2eb47577be9f9316a6430c8a.png' title=' $d : (\Pi i : dom(a)) \rightarrow (C.D)(a(p(i)))$ ' alt=' $d : (\Pi i : dom(a)) \rightarrow (C.D)(a(p(i)))$ ' align=absmiddle/>. Equality of representations is modulo permutations. </p>
</blockquote>
<p>It is as iff the angel has an inexhaustible supply of slave devices<br />
to which she can issue as many commands in parallel as she likes<br />
(possibly none).  But she has to wait for all the responses.  </p>
<p>What does one have to show about this?  That C! is the free <img src='/containers/latexrender/pictures/2cd721f73978bd9ec4aabc24e65b08fd.png' title='$\otimes$' alt='$\otimes$' align=absmiddle/> comonoid generated by C?  What is this in layman&#8217;s<br />
terms?</p>
]]></content:encoded>
	</item>
</channel>
</rss>
