モナドとは自己関手の圏におけるモノイド対象である
モナドの定義とモノイド対象の定義の類似性をわかりやすく示したいmrsekut.icon
そのためにもモノイド対象をもうちょいちゃんと理解しないといけない 圏$ \mathscr{A}において
関手$ T:\mathscr{A}\to\mathscr{A}
自然変換$ \eta:1\to T
自然変換$ \mu:TT\to T
の3つ組$ (T,\eta,\mu)がモナドであるとする 「自己関手の圏」
自己関手圏Fun$ \mathscr{A}^\mathscr{A}のこと 関手$ Tはこの$ \mathscr{A}^\mathscr{A}の対象
「モノイド対象」
まずはじめに$ \mathscr{A}^\mathscr{A}の演算にモノイド積を当てはめるなどして、$ \mathscr{A}^\mathscr{A}をモノイダル圏として見る必要がある 「自己関手同士の合成」を「モノイド積」に当てはめることで、$ \mathscr{A}^\mathscr{A}をモノイド圏としてみることができる
M(M(X))をM◦M(X)と見ることができるので
M(M(X))→M◦M(X)は、(このMは関手)
M×M→Mである(このMは型)
モノイド対象の定義に沿って、自己関手のやつを対応させればいい
table:対応
モノイド対象 自己関手圏におけるモノイド対象
M 自己関手T
μ: M⊗M→M μ: T^2→T
η: I→M η: 1→T
$ 1は$ \mathscr{A}^\mathscr{A}の単位対象
モナドの定義を見る
圏$ \mathscr{A}上のモナドとは、3つ組$ (T,\eta,\mu)
自己関手$ T:\mathscr{A}\to\mathscr{A}
自然変換$ \eta:\mathrm{id}\Rightarrow T
以下の図式を可換にする
https://gyazo.com/f2d657f137deb0eff7281c5cbb618a30
モノイド対象の単位律の図とにていることを強調したいmrsekut.icon 自然変換$ \mu: T\circ T\Rightarrow T
以下の図式を可換にする
https://gyazo.com/6dc2562da9eff8ecf1718637a61de8d4
$ TTTAは括弧を明示的に書くなら$ T(T(T(A)))
Haskellと対応させるときは、ポイントフリーなものではないほうを参照したほうがわかりやすいmrsekut.icon