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

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

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

参照用 記事

モノイドから得られるモナドを特徴付けるには? (よくワカリマセン)

Cをモノイド圏だとします。Cデカルト圏であることは要求しませんが、モノイド積双関手を×、モノイド単位対象をIと記します。

M = (M, e, m) をC内のモノイドとします。ここで、MはCの対象で、e:I→M、m:M×M→M はそれぞれ単位元と乗法です。モノイドMに対して、圏C上の自己関手 F:CC を次のように定義できます。

  • F(X) := M×X
  • F(f:X→Y) = (M×f:M×X→M×Y)

さらに、自然変換 η::IdC⇒F と μ::FF⇒F (FFはFの繰り返し結合関手)をMのモノイド構造から定義すると、(F, η, μ)はC上のモナドになります。モノイドからモナドを作る方法ですね。次の過去記事を参照してください。

C内のモノイドとモノイド準同型の全体を Monoid(C) と書くと、これは圏になります。Monoid(Set) が通常のモノイドの圏です。そして、圏C上のモナドモナド準同型の全体を Monad(C) とすれば、これも圏になります(サイズの問題がありますが)。モノイドとモナドは似た言葉なので混乱しないように注意して下さい。

モノイドからモナドが系統的に作れるってことは、Monoid(C)→Monad(C) という関手があることです。問題はこの逆です。逆とはいっても、Monad(C)→Monoid(C) という逆関手は作れないので、モナドのなかで、モノイドから作られたもの(モノイダルスタンピングモナド)を判別する問題になります。すべてのモナドがモノイダルスタンピングモナドではないので、どんなモナドならモノイダルスタンピングモナドなのかを特徴付けたいのです。


ここで話題が変わるのですが(後で話を戻します)、圏C(モノイド圏じゃなくてもいい)から集合圏Setへの関手 F:CSet が表現可能(representable)だとは次のことです。

  • C対象Aがあって、共変ホムセット関手 C(A, -) とFが同値になる。

対象Aは、関手Fを表現する対象(representing object)です。共変ホムセット関手C(A, -) とFを結ぶ自然同値 φ::Hom(A, -)⇒F はFの表現と呼ばれます。

すべての関手が表現可能なわけではないので、どんな関手が表現可能なのか? 関手が表現可能なとき、その表現対象をどうやって求めるか? などが問題となります。


モナド F = (F, η, μ) がモノイド M = (M, e, m) から作られているとき、「Mは、Fを表現するモノイドだ」と言ってもいいような感じがします。この「感じ」をもう少し正確に述べてみます。

C = (C, I, ×)はモノイド圏で、さらにモノイド閉になているとします。XとYの指数は [Y<-X]、または [X->Y] という記法で書くことにします。

  • C(X×Y, Z) = C(X, [Z<-Y])
  • C(X×Y, Z) = C(Y, [X->Z])

F:CSetがAで表現可能なら、C(A, -) = Hom(A, -) = F(-) という自然同型があります。Hom(A, -) は集合圏に値を取りますが、hom(A, -) := [A->-] という内部ホム関手に取り替えて考えてみましょう; [A->-] = hom(A, -) = G(-) という自然同型があれば、C上の自己関手Gは対象Aで表現されると言っていいでしょう。

FとGが随伴関手の対で、Gは対象Aで表現されるとします。まず随伴であることから、

  • C(F(X), Z) = C(X, G(Z))

Gの表現可能性から、G(Z) = hom(A, Z) = [A->Z] と書けるので、

  • C(F(X), Z) = C(X, [A->Z])

これより、関手FはAによる指数関手の随伴になります。つまりFは、Aによる掛け算関手(スタンピング関手)です。

関手Fが、適当な対象Aによる掛け算関手であることは、その随伴関手が内部ホムの意味で表現可能なことです。Fを表現する対象が見つかれば、Fにモナド構造を与える自然変換η、μを使って、対象A上のモノイド構造は作り出せる気がします(ちゃんとやってません)。

といったあたりまではボンヤリわかるのですが、クリアじゃないですね。モノイドで表現されるモナドの特徴付け、どなたかご存知ですか?