見出し画像

圏論ノート:モナド

モナドについてちょっとわかった気がしたので、モナドの話をします。

Monoidal Category

まず Monoidal Categoryの話をします。日本語でなんていうんだ。

Monoidal CategoryはカテゴリーCでユニット Iというオブジェクトと⊗ : C×C→Cというbifunctorを持つものです。⊗は次の自然な同型を持たなくてはいけません。

画像1

⊗が結合則を満たすこととIが単位元であることを言っています。また、次の図式が可換でなければなりません。

画像3

画像2

Wikipediaより)

まあ成り立っていて欲しいことが成り立っていて欲しいということです。(成り立たない例はあると思いますが知りません。)

モノイドっぽいな、と思うと思います。

モノイドオブジェクト

Monidal Categoryの中にモノイドオブジェクトというものが定義できます。モノイドオブジェクトは「掛け算」μ : M × M → Mと「ユニット」η : I → Mで次の花冠図式を満たすものです。図式を書くのが面倒なので、またWikipediaからの引用です。

画像4

画像5

モナド

やっとモナドにたどり着きました。モナドはあるカテゴリーCの自分自身への関手全体End(C)の中のモノイドオブジェクトです。End(C)のオブジェクトはCからCへの関手、射は自然変換です。End(C)は関手の合成を積、恒等変換I:F→FをユニットとしてMonoidal Categoryになります。モナドTはこのEnd(C)の中のモノイドオブジェクトです。つまり、掛け算μ : T ◦ T → Tとユニットη : I → Tを持ち、

画像6

画像7

射の言葉で書き直すと、普通のモナド則が得られました。

画像8

画像9

モナドの具体例はネットにたくさんあるので特に書きません。

まとめ

Monoidal Categoryのモナドオブジェクトの一例としてモナドを導きました。


この記事が気に入ったらサポートをしてみませんか?