両代数と両クライスリ圏
FがC上のコモナド、Gがモナドのとき、F(X)→G(Y) というCの射を X→Y という射だと思って、両クライスリ圏を構成したい。どうしたらいいか? という話。
F = (F, δ, ε), G = (G, μ, η) だとする。ほかに、τ::FG⇒GF があるとする。τはスワッパーと呼ぶ。f:F(X)→G(Y), g:F(Y)→G(Z) に対して、
- δX;F(f);τY;G(g);μZ
として両クライスリ結合が定義できそうだが、τに条件を付けないと両クライスリ圏の構成はできない。
まったくの山勘なのだが、ベックの法則をヒントにすると、次のような等式ではないかと思われる。「|」は自然変換の縦結合、モノイド積としての結合は反図式順の並置。「|」の優先順は弱い。
- τ|Gε = εG
- Fη|τ = Fη
- δG|Fτ|τF = τ|Gδ
- τG|Gτ|μF = Fμ|τ
ほとんど根拠がないので、当たっていたらラッキー。当たっていたら計算で確認できるが、当たってないと悲惨。
[追記]計算には、手前味噌だがヤッパリDOTNが一番強力そうだ。コモノイド法則を書いてみると:
- δ|εF = F^
- δ|Fε = F^
- δ|Fδ = δ|δF
うーん、コンパクト。インデックスxを入れて具体化すると:
- x.δ ; x.ε.F = (x.F)^
- x.δ ; x.F.ε = (x.F)^
- x.δ ; x.F.δ = x.δ ; x.δ.F
[/追記]