このブログは、旧・はてなダイアリー「檜山正幸のキマイラ飼育記 メモ編」(http://d.hatena.ne.jp/m-hiyama-memo/)のデータを移行・保存したものであり、今後(2019年1月以降)更新の予定はありません。

今後の更新は、新しいブログ http://m-hiyama-memo.hatenablog.com/ で行います。

モナドの作用乗法(action multiplication)

うーーーん、なんでこんな事に気が付かなかったんだぁー!! 灯台もと暗し、コロンブスの卵だ。これがmissing pieceだったんだ。独断で目が曇っていた。

1つ前のエントリーと似た記号を使っているが、独立(別物)である。

(L, μ, η)をC上のモナドとする。もうひとつのモナド(M, μ', η')を考える。MLは、M(L(-))で定義される関手だとして、τ:ML⇒Lとρ:M⇒Lという自然変換があり、次の結合律、単位律が成立すると仮定する。


MLL -[τL]→ LL -[μ]→ L
========================== 結合律
MLL -[Mμ]→ ML -[τ]→ L


IL -[ηL]→ML -[τ]→L
====================== 単位律1
IL →L

MI -[Mη]→ML -[τ]→L
====================== 単位律2
MI → M -[ρ]→ L

それでKleisli圏C_MとC_Lを作ると、C_MがC_Lに作用する。(これに気付いた。)

作用をもっと詳しく記述すると; u:A→M(B), g:B→L(C)をC_M, C_Lの射だとする(正確には、Cで考えたKleisli射=M-resultic射)。uとgの“結合”u*gを次のように定義する。

  • u*g = u;M(g);τ_C

C_Lの結合=Kleisli結合を#として、次が成立する(と思う)。

  • (u*g)#f = u*(f#g)
  • (u#v)*f = u*(v*f)
  • B^#g = g (B^はKleisli恒等)

さらに、u:A→B は、*作用を通じてC_L\B→C_L\Cというスライス圏の反変関手を定義する。これからC_Mをベースとするindexed categoryも定義できる。

この事実は、メタ項やスキーマの意味論に使える。また、γ:L→Mで、γ;τが恒等であるとき、LはMに埋め込めるので、MはLの拡張としての解釈を許す。

圏Xが圏Cに作用している状況を一般的に考えるのも興味あるかもしれない。