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

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

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

参照用 記事

最強モナドのアイレンベルク/ムーア圏

最強のモナドとモナド工場の秘密」の続き。

モナドFが、モノイドMを使って F(A) = A×M と書けるとき、Fのアイレンベルク/ムーア圏はどうなるでしょうか? なお、アイレンベルク/ムーア圏については次の記事を参照してください。

アイレンベル」だったり「アイレンベル」だったりですが、最近は「アイレンベルク」のほうがいいかな、と(「サムエル・エイレンベルク」が原音に近いと思いますが)。

(A, a) がモナドFのアイレンベルク/ムーア代数(あるいは単にF-代数)であるとは、a:F(A)→A で、次の図式が可換になることです。

  A - η_A --> F(A)
  |            |
  |            a (無印の矢は恒等射)
  |            |
  v            v
  A ---------> A


  F(F(A)) - F(a) --> F(A)
   |                  |
  μ_A                a
   |                  |
   v                  v
  F(A) ----- a -----> A

等式にすると:

  1. ηA;a = idA
  2. F(a);a = μA;a

M = (M, e, ・) がモノイドで、Fが F(A) = A×M から作られたモナドのとき、a = λ(x, m).x★m とすると、上の可換図式/等式は次を意味します。

  1. x★e = x
  2. x★(m・n) = x★(m★n)

つまり、(A, ★) がM-加群(Mが作用する集合、Mの写像表現)となっていることです。つまり、モノイドMによるスタンピングモナドアイレンベルク/ムーア圏は、M-加群の圏です。

最強のモナドとモナド工場の秘密」で紹介した最強モナド(very strong monad)では、F(I)がモノイドになり、FはモノイドF(I)によるスタンピングモナドとみなせるのでした。したがって、最強モナドFのアイレンベルク/ムーア圏は、F(I)-加群の圏と圏同値になります。モナドのクライスリ圏は、自由F-代数の圏と圏同値なので、最強モナドFのクライスリ圏は、自由F(I)-加群の圏と圏同値です。

これは、Kruna Segrt Ratkovic, "Morita theory in enriched context"の内容の単純な事例となっています(単純すぎますが)。モナドが最強であることは条件としては“強すぎ”ますし*1アイレンベルク/ムーア圏とF(I)-加群の圏を単純に比較するのも芸がない話です。モナドに関する条件を弱めたり、モナドから作られる圏を細工したりして、モナドとモノイド、あるいは2つのモナドを比較できないかなー、とウッスラ考えたりしてます。

僕がこのテの問題に興味を持つのは、「ストレージの線形代数: 泥臭いデータ操作の洗練された定式化」で書いたように、代数や加群の議論はストレージIOに使えるだろう、と思っているからです。ストレージIOを実現するモナド*2がユーザーから同じに見えることはある種の同値性です。この同値性は、モナドの代数の圏の圏同値のことでしょう。であるなら、アイレンベルク/ムーア圏の同値性判定は基本的で大事な問題です。

*1:だって、最強だもんね。

*2:モナドのほうが適切だと思います。