{"id":81,"date":"2006-07-19T16:13:52","date_gmt":"2006-07-19T16:13:52","guid":{"rendered":"http:\/\/scientopia.org\/blogs\/goodmath\/2006\/07\/19\/towards-a-model-for-linear-logic-monoidal-categories\/"},"modified":"2006-07-19T16:13:52","modified_gmt":"2006-07-19T16:13:52","slug":"towards-a-model-for-linear-logic-monoidal-categories","status":"publish","type":"post","link":"http:\/\/www.goodmath.org\/blog\/2006\/07\/19\/towards-a-model-for-linear-logic-monoidal-categories\/","title":{"rendered":"Towards a Model for Linear Logic: Monoidal Categories"},"content":{"rendered":"<p>Time to come back to category theory from out side-trip. Category theory provides a good framework for defining linear logic &#8211; and for building a Curry-Howard style type system for describing computations with *state* that evolves over time. Linear logic provides a way of defining a valid *model* for part of linear logic (the multiplicative operators) that aren&#8217;t tractable using other modeling techniques.<br \/>\nI&#8217;m going to show you the relationship between models for linear logic and category theory. It&#8217;s going to take a couple of days to go through the whole shebang, but even the parts that we need to go through to get there are fun.<br \/>\nThe first step is to define a *monoidal category*, also known as a *tensor* category. We&#8217;ve already done most of that when we built [monads][monads] earlier this week; a monad is a kind of monoidal category.<br \/>\nA monoidal category is a category C with one object t, and a *binary functor* &otimes; : C &times; C &rarr; C.  This binary functor is called *tensor*. Tensor has three required properties defined using *natural isomorphisms*, called &alpha;, &lambda;, and &rho;.<br \/>\n&alpha; says that tensor must be associative: &alpha;<sub>(A,B,C)<\/sub> : (A &otimes; B) &otimes; C &rarr; A &otimes; (B &otimes; C).<br \/>\n&lambda; says that tensor has a *left identity*: &lambda;<sub>A<\/sub> : (I &otimes; &lambda;) &rarr; A.<br \/>\n&rho; says that tensor has a *right identity*, which is the same as the left identity: &rho;<sub>A<\/sub> : (&rho; &otimes; 1) &rarr; A;.<br \/>\nAnd finally, the natural transformations need to make the following diagrams commute for all values of A, B, and C. These are known as the *coherence conditions* for the monoidal natural transformations.<br \/>\n<img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" alt=\"monoid.jpg\" src=\"https:\/\/i0.wp.com\/scientopia.org\/img-archive\/goodmath\/img_14.jpg?resize=425%2C340\" width=\"425\" height=\"340\" \/><br \/>\nA monoidal category is said to be *strict* if &alpha;, &lambda;, and &rho; are all identities. It turns out that for every monoidal category, there is an *equivalent* (in the sense of natural isomorphism) to a struct monoidal category.<br \/>\nAnd now, here comes an example of just why category theory is useful. In some of the [detailed models of quantum physics][quantum-condense], they try to describe the structure of different kinds of matter using what they call *topological orders*. The standard theory for describing the topological orders to different states of matter is called *Landau* theory. It turns out that Landau theory doesn&#8217;t describe the topological order of high temperature semiconductors or very-low-temperature condensate states. Category theory &#8211; in particular, the theory surrounding strict monoidal categories does a better job of describing the topological order of the different states of matter than any other mathematical approach that&#8217;s been tried so far.<br \/>\n[monads]: http:\/\/scienceblogs.com\/goodmath\/2006\/07\/monads_and_programming_languag_1.php<br \/>\n[quantum-condense]: http:\/\/dao.mit.edu\/~wen\/pub\/qorder.html<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Time to come back to category theory from out side-trip. Category theory provides a good framework for defining linear logic &#8211; and for building a Curry-Howard style type system for describing computations with *state* that evolves over time. Linear logic provides a way of defining a valid *model* for part of linear logic (the multiplicative [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[76,24,33],"tags":[],"class_list":["post-81","post","type-post","status-publish","format-standard","hentry","category-category-theory","category-goodmath","category-logic"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p4lzZS-1j","jetpack_sharing_enabled":true,"jetpack_likes_enabled":true,"_links":{"self":[{"href":"http:\/\/www.goodmath.org\/blog\/wp-json\/wp\/v2\/posts\/81","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.goodmath.org\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.goodmath.org\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.goodmath.org\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.goodmath.org\/blog\/wp-json\/wp\/v2\/comments?post=81"}],"version-history":[{"count":0,"href":"http:\/\/www.goodmath.org\/blog\/wp-json\/wp\/v2\/posts\/81\/revisions"}],"wp:attachment":[{"href":"http:\/\/www.goodmath.org\/blog\/wp-json\/wp\/v2\/media?parent=81"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.goodmath.org\/blog\/wp-json\/wp\/v2\/categories?post=81"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.goodmath.org\/blog\/wp-json\/wp\/v2\/tags?post=81"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}