このブログの更新は Twitterアカウント @m_hiyama で通知されます。
Follow @m_hiyama

メールでのご連絡は hiyama{at}chimaira{dot}org まで。

はじめてのメールはスパムと判定されることがあります。最初は、信頼されているドメインから差し障りのない文面を送っていただけると、スパムと判定されにくいと思います。

参照用 記事

大量のモナド類似物を取り扱う方法:参考文献

インデックス付き圏のフビニ/グロタンディーク同値」より:

ここ2,3日考えていたことがあります。その動機とか背景とかを説明すると「けっこう面白い」かと思うのですが、長くなるので結論(になるはずのこと)だけをザッと述べます。一言だけいっておくと、大量のモナド類似物(monad-like entities)を一挙に扱う方法が欲しくてなにやらゴニョゴニョしています。

monad-like entities という言葉は、Thorsten Altenkirch, James Chapman, Tarmo Uustalu の論文 "Monads Need Not Be Endofunctors" からの拝借です。最近少し探してみたら、monad-like entities を取り扱う方法は色々とあるようです。それらの方法の背後には、Hughesが2000年に導入したHaskellのアロー(Arrow; http://www.cs.chalmers.se/~rjmh/Papers/arrows.ps)に厳密な定式化を与えようという動機が多かれ少なかれ働いているようです。

僕が最初に知った方法は、Atkeyによる「フレイド圏をインデックス化(パラメータ化)したり豊饒化したりする」ものです。時期的には、デカルト作用圏が面白いと言っていた2010年末から2011年初めくらいでしょう。

題名とリンク 著者 時期 ページ数
What is a Categorical Model of Arrows? Robert Atkey MSFP 2008 18ページ
Parameterised Notions of Computation Robert Atkey ?2006 - 2008? 15ページ

2番目の論文は2006年から2008年のあいだに書かれたようですが、扱っていることはモナドのパラメータ化(インデキシング)です。Atkeyはインデキシングや豊饒化が好きなようですね。僕にとっても、インデックス付き圏や豊饒圏を使う方法が一番馴染みやすく感じます。

別な方法として、相対モナドという概念を導入するやり方があります。圏の上にモナドを考えるのではなくて、関手の上にモナドを考えます。

Monads Need Not Be Endofunctors Thorsten Altenkirch, James Chapman, Tarmo Uustalu 21 May 2010 21枚スライド
Monads Need Not Be Endofunctors Thorsten Altenkirch, James Chapman, Tarmo Uustalu ? 15ページ

主著者のThorsten Altenkirch(アルテンキルヒ)は、可逆計算の話でも紹介した人ですね。

相対モナドの方法は、最近(2010, 2011)も発展中のようです。

Strong relative monads Tarmo Uustalu CMCS 2010 16枚
Relative monads formalised Thorsten Altenkirch, James Chapman, Tarmo Uustalu Received July 31, 2010 36ページ
Modules over relative monads for syntax and semantics Benedikt Ahrens (Submitted on 26 Jul 2011) 21ページ
Initiality for Typed Syntax and Semantics Benedikt Ahrens Sept 11, 2011 30枚

関手圏ではなくて、プロ関手(profunctor)の圏を考えて、そこでモノイドを考える方法もあります。プロ関手圏は関手圏の一般化になっているので、プロ関手圏のモノイドは普通のモナドの拡張になっています。

Arrows are Strong Monads Kazuyuki Asada ? 新しそう 2段組で9ページ
Arrows, like Monads, are Monoids Chris Heunen, Bart Jacobs MFPS 2006 17ページ

アローをプロ関手圏のモノイドと見なしたのは、Heunen, Jacobs(2006年)が最初らしいですが、浅田和之さんが最近(でしょう、たぶん)の論文で整理し発展させています。

以下の蓮尾一郎さんらのスライド/論文も同じテーマのようですが僕は目を通していません。

Freyd is Kleisli, for Arrows Bart Jacobs, Ichiro Hasuo July 2, 2006 31枚
Freyd is Kleisli, for Arrows Bart Jacobs, Ichiro Hasuo MSFP '06 13ページ
Categorifying Computations into Components via Arrows as Profunctors Kazuyuki Asada, Ichiro Hasuo CMCS 2010 23ページ

モナドの一般化・発展形に関しては、"Monads and More" に色々紹介されています。Part 3だけ引用しておきます。

Monads and More: Part 3 Tarmo Uustalu 18 May 2007 14枚



[追記]この記事のコメントから派生したオマケ:

[/追記]