<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/'><id>tag:blogger.com,1999:blog-11295132.post1709827116482950347..comments</id><updated>2007-05-05T14:51:13.508-07:00</updated><category term='category theory'/><category term='lawvere theories'/><category term='astronomy'/><category term='optimisation'/><category term='self-reference'/><category term='comonads'/><category term='haskell'/><category term='programming'/><category term='monad'/><category term='mathematics'/><category term='physics'/><category term='probability'/><category term='types'/><category term='quantum'/><title type='text'>Comments on A Neighborhood of Infinity: From Löb's Theorem to Spreadsheet Evaluation</title><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://blog.sigfpe.com/feeds/1709827116482950347/comments/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11295132/1709827116482950347/comments/default'/><link rel='alternate' type='text/html' href='http://blog.sigfpe.com/2006/11/from-l-theorem-to-spreadsheet.html'/><author><name>sigfpe</name><uri>http://www.blogger.com/profile/08096190433222340957</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://homepage.mac.com/sigfpe/.Pictures/Photo%20Album%20Pictures/2002-12-07%2014.53.40%20-0800/ImageDSC01397_1.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>19</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-11295132.post-4888200544845134458</id><published>2007-05-05T14:51:00.000-07:00</published><updated>2007-05-05T14:51:00.000-07:00</updated><title type='text'>Henning,&lt;br&gt;&lt;br&gt;In both the 'humour' and 'proposal...</title><content type='html'>Henning,&lt;BR/&gt;&lt;BR/&gt;In both the 'humour' and 'proposal' categories!</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11295132/1709827116482950347/comments/default/4888200544845134458'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11295132/1709827116482950347/comments/default/4888200544845134458'/><link rel='alternate' type='text/html' href='http://blog.sigfpe.com/2006/11/from-l-theorem-to-spreadsheet.html?showComment=1178401860000#c4888200544845134458' title=''/><author><name>sigfpe</name><uri>http://www.blogger.com/profile/08096190433222340957</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.sigfpe.com/2006/11/from-l-theorem-to-spreadsheet.html' ref='tag:blogger.com,1999:blog-11295132.post-1709827116482950347' source='http://www.blogger.com/feeds/11295132/posts/default/1709827116482950347' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-961546855'/></entry><entry><id>tag:blogger.com,1999:blog-11295132.post-7414915869553279503</id><published>2007-05-05T14:03:00.000-07:00</published><updated>2007-05-05T14:03:00.000-07:00</updated><title type='text'>Do you know &lt;a href="http://www.haskell.org/haskel...</title><content type='html'>Do you know &lt;A HREF="http://www.haskell.org/haskellwiki/Num_instance_for_functions" REL="nofollow"&gt;my opinion&lt;/A&gt; of a Num instance for functions?</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11295132/1709827116482950347/comments/default/7414915869553279503'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11295132/1709827116482950347/comments/default/7414915869553279503'/><link rel='alternate' type='text/html' href='http://blog.sigfpe.com/2006/11/from-l-theorem-to-spreadsheet.html?showComment=1178398980000#c7414915869553279503' title=''/><author><name>Henning Thielemann</name><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img1.blogblog.com/img/blank.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.sigfpe.com/2006/11/from-l-theorem-to-spreadsheet.html' ref='tag:blogger.com,1999:blog-11295132.post-1709827116482950347' source='http://www.blogger.com/feeds/11295132/posts/default/1709827116482950347' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-563395591'/></entry><entry><id>tag:blogger.com,1999:blog-11295132.post-4071874792196597455</id><published>2007-02-03T12:32:00.000-08:00</published><updated>2007-02-03T12:32:00.000-08:00</updated><title type='text'>Nick,

If you're still reading, I just worked out ...</title><content type='html'>Nick,&lt;br /&gt;&lt;br /&gt;If you're still reading, I just worked out a tiny bit more detail &lt;a href="http://sigfpe.blogspot.com/2007/02/comonads-and-reading-from-future.html"&gt;here&lt;/a&gt;.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11295132/1709827116482950347/comments/default/4071874792196597455'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11295132/1709827116482950347/comments/default/4071874792196597455'/><link rel='alternate' type='text/html' href='http://blog.sigfpe.com/2006/11/from-l-theorem-to-spreadsheet.html?showComment=1170534720000#c4071874792196597455' title=''/><author><name>sigfpe</name><uri>http://www.blogger.com/profile/08096190433222340957</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.sigfpe.com/2006/11/from-l-theorem-to-spreadsheet.html' ref='tag:blogger.com,1999:blog-11295132.post-1709827116482950347' source='http://www.blogger.com/feeds/11295132/posts/default/1709827116482950347' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-961546855'/></entry><entry><id>tag:blogger.com,1999:blog-11295132.post-4391823712980470389</id><published>2007-01-31T15:08:00.000-08:00</published><updated>2007-01-31T15:08:00.000-08:00</updated><title type='text'>Nick,

Well spotted! I looked hard on the web for ...</title><content type='html'>Nick,&lt;br /&gt;&lt;br /&gt;Well spotted! I looked hard on the web for something with the same signature as loeb but couldn't find anything. I haven't yet fully proved to myself that loeb and cfix are the same thing. They look like they do the same thing but it seems curious that I'm able to define loeb for any Functor, not just for a Comonad. When I have some time I'll investigate further - comonads being a bit of a hobby of mine these days.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11295132/1709827116482950347/comments/default/4391823712980470389'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11295132/1709827116482950347/comments/default/4391823712980470389'/><link rel='alternate' type='text/html' href='http://blog.sigfpe.com/2006/11/from-l-theorem-to-spreadsheet.html?showComment=1170284880000#c4391823712980470389' title=''/><author><name>sigfpe</name><uri>http://www.blogger.com/profile/08096190433222340957</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.sigfpe.com/2006/11/from-l-theorem-to-spreadsheet.html' ref='tag:blogger.com,1999:blog-11295132.post-1709827116482950347' source='http://www.blogger.com/feeds/11295132/posts/default/1709827116482950347' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-961546855'/></entry><entry><id>tag:blogger.com,1999:blog-11295132.post-4674394031335833160</id><published>2007-01-31T14:25:00.000-08:00</published><updated>2007-01-31T14:25:00.000-08:00</updated><title type='text'>You have a neat derivation of "cfix" there!

I bum...</title><content type='html'>You have a neat derivation of "cfix" there!&lt;br /&gt;&lt;br /&gt;I bumped into this once myself when attempting to improve on the Essence of Dataflow semantics. I eventually found this &lt;a href="http://www.mail-archive.com/haskell@haskell.org/msg17244.html"&gt;post&lt;/a&gt; by David Menendez. &lt;br /&gt;&lt;br /&gt;cfix :: Comonad d =&gt; d (d a -&gt; a) -&gt; a&lt;br /&gt;&lt;br /&gt;which is dual to &lt;br /&gt;&lt;br /&gt;mfix :: Monad t =&gt; (a -&gt; t a) -&gt; t a&lt;br /&gt;&lt;br /&gt;We know mfix needs a special Haskell definition for each monad, but cfix does not, it's applicable to all comonads.&lt;br /&gt;&lt;br /&gt;Usually, modal box matches a comonads an modal diamond matches a monad. S4's theorems support the functions:&lt;br /&gt;&lt;br /&gt;a -&gt; Dia a&lt;br /&gt;Dia (Dia a) -&gt; Dia a&lt;br /&gt;Box a -&gt; a&lt;br /&gt;Box a -&gt; Box (Box a)&lt;br /&gt;&lt;br /&gt;which are (co)unit and (co)join of the (co)monad.&lt;br /&gt;&lt;br /&gt;Along the lines of your spreadsheet analogy, you're not alone! I've written up a "non-empty graph" data structure as a comonad with the intent of making a cool spreadsheet semantics in Haskell. I need to dust that off someday...&lt;br /&gt;&lt;br /&gt;In regards to fmap not being provable in modal logic, there might be a nuance here. In haskell, the type A matches Box A from a corresponding modal logic: values in Haskell are immutable and thus "necessary" (i.e. Haskell always assumes the trivial Identity comonad). So the type of fmap (for a monad) actually corresponds to:&lt;br /&gt;&lt;br /&gt;fmap :: Box (a -&gt; b) -&gt; Dia a -&gt; Dia b&lt;br /&gt;&lt;br /&gt;which is a modal logic theorem (called Dia-K).&lt;br /&gt;&lt;br /&gt;Satoshi Kobayashi's "Monad as Modality" is good reference (but sometimes hard to obtain). In regards to Yakeley's Code modality, monads seem to play a role in staged-computing, don't remember a reference though. Template Haskell maybe?&lt;br /&gt;&lt;br /&gt;- Nick Frisby</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11295132/1709827116482950347/comments/default/4674394031335833160'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11295132/1709827116482950347/comments/default/4674394031335833160'/><link rel='alternate' type='text/html' href='http://blog.sigfpe.com/2006/11/from-l-theorem-to-spreadsheet.html?showComment=1170282300000#c4674394031335833160' title=''/><author><name>Anonymous</name><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img1.blogblog.com/img/blank.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.sigfpe.com/2006/11/from-l-theorem-to-spreadsheet.html' ref='tag:blogger.com,1999:blog-11295132.post-1709827116482950347' source='http://www.blogger.com/feeds/11295132/posts/default/1709827116482950347' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1739084673'/></entry><entry><id>tag:blogger.com,1999:blog-11295132.post-7521233709939927167</id><published>2007-01-28T10:39:00.000-08:00</published><updated>2007-01-28T10:39:00.000-08:00</updated><title type='text'>&lt;i&gt;Modal logics usually have these rules:

  f (a ...</title><content type='html'>&lt;i&gt;Modal logics usually have these rules:&lt;br /&gt;&lt;br /&gt;  f (a -&gt; b) -&gt; f a -&gt; f b&lt;br /&gt;&lt;br /&gt;(This corresponds to the Applicative class, which may one day be made a superclass of Monad.)&lt;br /&gt;&lt;br /&gt;  f a -&gt; a&lt;br /&gt;&lt;br /&gt;Monads do not in general satisfy this. Perhaps comonads or something?&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Yes, they are connected to &lt;a href="http://www.eyrie.org/~zednenem/2004/hsce/Control.Comonad.html"&gt;comonads.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Two functions&lt;br /&gt;extract :: w a -&gt; a&lt;br /&gt;and&lt;br /&gt;extend :: (w a -&gt; b) -&gt; w a -&gt; w b&lt;br /&gt;which follow these laws:&lt;br /&gt; extend extract      == id&lt;br /&gt; extract . extend f  == f&lt;br /&gt; extend f . extend g == extend (f . extend g)&lt;br /&gt;define a comonad.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11295132/1709827116482950347/comments/default/7521233709939927167'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11295132/1709827116482950347/comments/default/7521233709939927167'/><link rel='alternate' type='text/html' href='http://blog.sigfpe.com/2006/11/from-l-theorem-to-spreadsheet.html?showComment=1170009540000#c7521233709939927167' title=''/><author><name>Anonymous</name><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img1.blogblog.com/img/blank.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.sigfpe.com/2006/11/from-l-theorem-to-spreadsheet.html' ref='tag:blogger.com,1999:blog-11295132.post-1709827116482950347' source='http://www.blogger.com/feeds/11295132/posts/default/1709827116482950347' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1781387149'/></entry><entry><id>tag:blogger.com,1999:blog-11295132.post-8351511534340986164</id><published>2006-12-27T18:10:00.000-08:00</published><updated>2006-12-27T18:10:00.000-08:00</updated><title type='text'>David,

Num's sneaky!</title><content type='html'>David,&lt;br /&gt;&lt;br /&gt;Num's sneaky!</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11295132/1709827116482950347/comments/default/8351511534340986164'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11295132/1709827116482950347/comments/default/8351511534340986164'/><link rel='alternate' type='text/html' href='http://blog.sigfpe.com/2006/11/from-l-theorem-to-spreadsheet.html?showComment=1167271800000#c8351511534340986164' title=''/><author><name>sigfpe</name><uri>http://www.blogger.com/profile/08096190433222340957</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.sigfpe.com/2006/11/from-l-theorem-to-spreadsheet.html' ref='tag:blogger.com,1999:blog-11295132.post-1709827116482950347' source='http://www.blogger.com/feeds/11295132/posts/default/1709827116482950347' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-961546855'/></entry><entry><id>tag:blogger.com,1999:blog-11295132.post-576969488279026666</id><published>2006-12-27T15:28:00.000-08:00</published><updated>2006-12-27T15:28:00.000-08:00</updated><title type='text'>Disregard my last comment. After loading up the po...</title><content type='html'>Disregard my last comment. After loading up the post in GHCi, I see why it works. The Num definition for functions allows 3 and 17 to be functions which are basically const 3 and const 17.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11295132/1709827116482950347/comments/default/576969488279026666'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11295132/1709827116482950347/comments/default/576969488279026666'/><link rel='alternate' type='text/html' href='http://blog.sigfpe.com/2006/11/from-l-theorem-to-spreadsheet.html?showComment=1167262080000#c576969488279026666' title=''/><author><name>David</name><uri>http://www.blogger.com/profile/03396164169951516460</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.sigfpe.com/2006/11/from-l-theorem-to-spreadsheet.html' ref='tag:blogger.com,1999:blog-11295132.post-1709827116482950347' source='http://www.blogger.com/feeds/11295132/posts/default/1709827116482950347' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1809994070'/></entry><entry><id>tag:blogger.com,1999:blog-11295132.post-3447531871739716152</id><published>2006-12-27T15:25:00.000-08:00</published><updated>2006-12-27T15:25:00.000-08:00</updated><title type='text'>I realise this is now something of an old post but...</title><content type='html'>I realise this is now something of an old post but hopefully you're still picking up the comments. Just a quick question.&lt;br /&gt;&lt;br /&gt;Your test3 doesn't seem to be a monomorphic list (and therefore ill-typed in Haskell), is this deliberate? Or were the 3 and 17 meant to be const 3 and const 17 respectively?&lt;br /&gt;&lt;br /&gt;Great mind-boggling stuff, by the way :)</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11295132/1709827116482950347/comments/default/3447531871739716152'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11295132/1709827116482950347/comments/default/3447531871739716152'/><link rel='alternate' type='text/html' href='http://blog.sigfpe.com/2006/11/from-l-theorem-to-spreadsheet.html?showComment=1167261900000#c3447531871739716152' title=''/><author><name>David</name><uri>http://www.blogger.com/profile/03396164169951516460</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.sigfpe.com/2006/11/from-l-theorem-to-spreadsheet.html' ref='tag:blogger.com,1999:blog-11295132.post-1709827116482950347' source='http://www.blogger.com/feeds/11295132/posts/default/1709827116482950347' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1809994070'/></entry><entry><id>tag:blogger.com,1999:blog-11295132.post-2584093661072862471</id><published>2006-11-24T17:08:00.000-08:00</published><updated>2006-11-24T17:08:00.000-08:00</updated><title type='text'>matthias,

Just had a look at that paper, which I ...</title><content type='html'>matthias,&lt;br /&gt;&lt;br /&gt;Just had a look at that paper, which I didn't know. It looks like it addresses stuff I've been tossing about in my head for a little while. Not being in academia, I've no idea what are the good papers to read unless they get posted on Lambda the Ultimate. :-)</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11295132/1709827116482950347/comments/default/2584093661072862471'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11295132/1709827116482950347/comments/default/2584093661072862471'/><link rel='alternate' type='text/html' href='http://blog.sigfpe.com/2006/11/from-l-theorem-to-spreadsheet.html?showComment=1164416880000#c2584093661072862471' title=''/><author><name>sigfpe</name><uri>http://www.blogger.com/profile/08096190433222340957</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.sigfpe.com/2006/11/from-l-theorem-to-spreadsheet.html' ref='tag:blogger.com,1999:blog-11295132.post-1709827116482950347' source='http://www.blogger.com/feeds/11295132/posts/default/1709827116482950347' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-961546855'/></entry><entry><id>tag:blogger.com,1999:blog-11295132.post-4969022275083193405</id><published>2006-11-24T16:39:00.000-08:00</published><updated>2006-11-24T16:39:00.000-08:00</updated><title type='text'>Do you know Benton et al.'s &lt;a href="http://dx.doi...</title><content type='html'>Do you know Benton et al.'s &lt;a href="http://dx.doi.org/10.1017/S0956796898002998"&gt;paper&lt;/a&gt;?</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11295132/1709827116482950347/comments/default/4969022275083193405'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11295132/1709827116482950347/comments/default/4969022275083193405'/><link rel='alternate' type='text/html' href='http://blog.sigfpe.com/2006/11/from-l-theorem-to-spreadsheet.html?showComment=1164415140000#c4969022275083193405' title=''/><author><name>Matthias</name><uri>http://www.blogger.com/profile/11645785715024119039</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.sigfpe.com/2006/11/from-l-theorem-to-spreadsheet.html' ref='tag:blogger.com,1999:blog-11295132.post-1709827116482950347' source='http://www.blogger.com/feeds/11295132/posts/default/1709827116482950347' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-810557045'/></entry><entry><id>tag:blogger.com,1999:blog-11295132.post-7201301394695235626</id><published>2006-11-24T14:03:00.000-08:00</published><updated>2006-11-24T14:03:00.000-08:00</updated><title type='text'>Lennart,

In the special case where f is the ident...</title><content type='html'>Lennart,&lt;br /&gt;&lt;br /&gt;In the special case where f is the identity functor, loeb is precisely the usual Y combinator, so it's about as circular as you can get. I just used the type corresponding to Löb's theorem as inspiration for a function definition of that type. However, I must read &lt;a href="http://lambda-the-ultimate.org/node/1760"&gt;this&lt;/a&gt; paper which makes proper use of a complete provability logic.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11295132/1709827116482950347/comments/default/7201301394695235626'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11295132/1709827116482950347/comments/default/7201301394695235626'/><link rel='alternate' type='text/html' href='http://blog.sigfpe.com/2006/11/from-l-theorem-to-spreadsheet.html?showComment=1164405780000#c7201301394695235626' title=''/><author><name>sigfpe</name><uri>http://www.blogger.com/profile/08096190433222340957</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.sigfpe.com/2006/11/from-l-theorem-to-spreadsheet.html' ref='tag:blogger.com,1999:blog-11295132.post-1709827116482950347' source='http://www.blogger.com/feeds/11295132/posts/default/1709827116482950347' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-961546855'/></entry><entry><id>tag:blogger.com,1999:blog-11295132.post-2588280788679330933</id><published>2006-11-24T12:44:00.000-08:00</published><updated>2006-11-24T12:44:00.000-08:00</updated><title type='text'>Is your way of proving Löb's theorem anything like...</title><content type='html'>Is your way of proving Löb's theorem anything like the regular proof?  Your code uses recursion in a way that looks dangerously like a circular proof.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11295132/1709827116482950347/comments/default/2588280788679330933'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11295132/1709827116482950347/comments/default/2588280788679330933'/><link rel='alternate' type='text/html' href='http://blog.sigfpe.com/2006/11/from-l-theorem-to-spreadsheet.html?showComment=1164401040000#c2588280788679330933' title=''/><author><name>Lennart</name><uri>http://www.blogger.com/profile/07327620522294658036</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.sigfpe.com/2006/11/from-l-theorem-to-spreadsheet.html' ref='tag:blogger.com,1999:blog-11295132.post-1709827116482950347' source='http://www.blogger.com/feeds/11295132/posts/default/1709827116482950347' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-2028865455'/></entry><entry><id>tag:blogger.com,1999:blog-11295132.post-8223204609730074709</id><published>2006-11-24T01:07:00.000-08:00</published><updated>2006-11-24T01:07:00.000-08:00</updated><title type='text'>Interesting application for a compiler. The other ...</title><content type='html'>Interesting application for a compiler. The other approach would be to type a constant t as "t" and code that calculates t as "Code t". Less like modal logic, though.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11295132/1709827116482950347/comments/default/8223204609730074709'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11295132/1709827116482950347/comments/default/8223204609730074709'/><link rel='alternate' type='text/html' href='http://blog.sigfpe.com/2006/11/from-l-theorem-to-spreadsheet.html?showComment=1164359220000#c8223204609730074709' title=''/><author><name>Ashley Yakeley</name><uri>http://www.blogger.com/profile/00449875179637133204</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.sigfpe.com/2006/11/from-l-theorem-to-spreadsheet.html' ref='tag:blogger.com,1999:blog-11295132.post-1709827116482950347' source='http://www.blogger.com/feeds/11295132/posts/default/1709827116482950347' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1266470804'/></entry><entry><id>tag:blogger.com,1999:blog-11295132.post-7129584178951384270</id><published>2006-11-24T00:23:00.000-08:00</published><updated>2006-11-24T00:23:00.000-08:00</updated><title type='text'>I&amp;#39;ve been playing around with the axioms to se...</title><content type='html'>I've been playing around with the axioms to see if either □ or ◊ behave like some well-known Haskell class.&lt;br /&gt;&lt;br /&gt;Firstly, neither of them are Functors, since you cannot prove either of these even in S5:&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;(a→b)→(□a→□b)&lt;br /&gt;&amp;nbsp;&amp;nbsp;(a→b)→(◊a→◊b)&lt;br /&gt;&lt;br /&gt;The second is less obvious than the first, but consider temporal logic: just because 'a' implies 'b' now, and 'a' is sometimes true, it doesn't mean that 'b' is ever true.&lt;br /&gt;&lt;br /&gt;This is unfortunate, since axioms T and 4 are suggestive of Monads for ◊:&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;T: a → ◊a&lt;br /&gt;&amp;nbsp;&amp;nbsp;4: ◊◊a → ◊a&lt;br /&gt;&lt;br /&gt;K on the other hand doesn't look like anything I've seen in Haskell:&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;K: (◊a → ◊b) → ◊(a → b)</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11295132/1709827116482950347/comments/default/7129584178951384270'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11295132/1709827116482950347/comments/default/7129584178951384270'/><link rel='alternate' type='text/html' href='http://blog.sigfpe.com/2006/11/from-l-theorem-to-spreadsheet.html?showComment=1164356580000#c7129584178951384270' title=''/><author><name>Ashley Yakeley</name><uri>http://www.blogger.com/profile/00449875179637133204</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.sigfpe.com/2006/11/from-l-theorem-to-spreadsheet.html' ref='tag:blogger.com,1999:blog-11295132.post-1709827116482950347' source='http://www.blogger.com/feeds/11295132/posts/default/1709827116482950347' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1266470804'/></entry><entry><id>tag:blogger.com,1999:blog-11295132.post-775394884058422922</id><published>2006-11-23T19:24:00.000-08:00</published><updated>2006-11-23T19:24:00.000-08:00</updated><title type='text'>ashley,

OK, I have some spare moments now. I've s...</title><content type='html'>ashley,&lt;br /&gt;&lt;br /&gt;OK, I have some spare moments now. I've spent quite a bit of time tinkering round with various axioms of modal logic but as you notice, things have a habit of not quite working out the way you want. There *is* a nice interpretation of □ as something like C/C++'s 'const'. There's a bunch of papers about it and I said something about it &lt;a href="http://sigfpe.blogspot.com/search?q=modal+compile+time"&gt;here&lt;/a&gt;. I've also seen some papers that uses the axiom GL (ie. Loeb's theorem) as a basis for describnig recursive types.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11295132/1709827116482950347/comments/default/775394884058422922'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11295132/1709827116482950347/comments/default/775394884058422922'/><link rel='alternate' type='text/html' href='http://blog.sigfpe.com/2006/11/from-l-theorem-to-spreadsheet.html?showComment=1164338640000#c775394884058422922' title=''/><author><name>sigfpe</name><uri>http://www.blogger.com/profile/08096190433222340957</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.sigfpe.com/2006/11/from-l-theorem-to-spreadsheet.html' ref='tag:blogger.com,1999:blog-11295132.post-1709827116482950347' source='http://www.blogger.com/feeds/11295132/posts/default/1709827116482950347' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-961546855'/></entry><entry><id>tag:blogger.com,1999:blog-11295132.post-44384746738562623</id><published>2006-11-23T15:44:00.000-08:00</published><updated>2006-11-23T15:44:00.000-08:00</updated><title type='text'>ashley,

As I say, I'm not sure there's a deep con...</title><content type='html'>ashley,&lt;br /&gt;&lt;br /&gt;As I say, I'm not sure there's a deep connection with Loeb's theorem! (But there is surely &lt;em&gt;some&lt;/em&gt; link.)</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11295132/1709827116482950347/comments/default/44384746738562623'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11295132/1709827116482950347/comments/default/44384746738562623'/><link rel='alternate' type='text/html' href='http://blog.sigfpe.com/2006/11/from-l-theorem-to-spreadsheet.html?showComment=1164325440000#c44384746738562623' title=''/><author><name>sigfpe</name><uri>http://www.blogger.com/profile/08096190433222340957</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.sigfpe.com/2006/11/from-l-theorem-to-spreadsheet.html' ref='tag:blogger.com,1999:blog-11295132.post-1709827116482950347' source='http://www.blogger.com/feeds/11295132/posts/default/1709827116482950347' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-961546855'/></entry><entry><id>tag:blogger.com,1999:blog-11295132.post-5551436724757331217</id><published>2006-11-23T14:56:00.000-08:00</published><updated>2006-11-23T14:56:00.000-08:00</updated><title type='text'>Eeep! The defining property of a functor is this:
...</title><content type='html'>Eeep! The defining property of a functor is this:&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;fmap :: (a -&gt; b) -&gt; f a -&gt; f b&lt;br /&gt;&lt;br /&gt;and not&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;ap :: f (a -&gt; b) -&gt; f a -&gt; f b&lt;br /&gt;&lt;br /&gt;fmap is definitely not provable in any modal logic.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11295132/1709827116482950347/comments/default/5551436724757331217'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11295132/1709827116482950347/comments/default/5551436724757331217'/><link rel='alternate' type='text/html' href='http://blog.sigfpe.com/2006/11/from-l-theorem-to-spreadsheet.html?showComment=1164322560000#c5551436724757331217' title=''/><author><name>Ashley Yakeley</name><uri>http://www.blogger.com/profile/00449875179637133204</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.sigfpe.com/2006/11/from-l-theorem-to-spreadsheet.html' ref='tag:blogger.com,1999:blog-11295132.post-1709827116482950347' source='http://www.blogger.com/feeds/11295132/posts/default/1709827116482950347' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1266470804'/></entry><entry><id>tag:blogger.com,1999:blog-11295132.post-4674832074603046887</id><published>2006-11-23T14:34:00.000-08:00</published><updated>2006-11-23T14:34:00.000-08:00</updated><title type='text'>Modal logics usually have these rules:

  f (a -&amp;g...</title><content type='html'>Modal logics usually have these rules:&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;f (a -&gt; b) -&gt; f a -&gt; f b&lt;br /&gt;&lt;br /&gt;(This corresponds to the Applicative class, which may one day be made a superclass of Monad.)&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;f a -&gt; a&lt;br /&gt;&lt;br /&gt;Monads do not in general satisfy this. Perhaps comonads or something?</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/11295132/1709827116482950347/comments/default/4674832074603046887'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/11295132/1709827116482950347/comments/default/4674832074603046887'/><link rel='alternate' type='text/html' href='http://blog.sigfpe.com/2006/11/from-l-theorem-to-spreadsheet.html?showComment=1164321240000#c4674832074603046887' title=''/><author><name>Ashley Yakeley</name><uri>http://www.blogger.com/profile/00449875179637133204</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://blog.sigfpe.com/2006/11/from-l-theorem-to-spreadsheet.html' ref='tag:blogger.com,1999:blog-11295132.post-1709827116482950347' source='http://www.blogger.com/feeds/11295132/posts/default/1709827116482950347' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1266470804'/></entry></feed>
