More Related Content More from Masahiro Honma (20) モナモナ言うモナド入門2. 今日話すこと
✦ 圏論から目を背けずに 、
モナドの定義を淡々と
✦ 図はスライド作るの面倒なので板書で
✦ タイトルは@kazu_yamamoto さんの
「モナモナ言わないモナド入門」の
オマージュ
3. 今日話すこと
✦ モナドは数学の概念
✦ よほどの数学嫌いでもない限り、
回り道をして誤摩化す必要はない
4. ゃ駄目だ。逃げちゃ駄目だ。 逃げちゃ駄目だ。 逃げ
ちゃ駄目だ。 逃げちゃ駄目だ。 逃げちゃ駄目だ。 逃
げちゃ駄目だ。 逃げちゃ駄目だ。 逃げちゃ駄目だ。
逃げちゃ駄目だ。 逃げちゃ駄目だ。 逃げちゃ駄目
だ。 逃げちゃ駄目だ。 逃げちゃ駄目だ。 逃げちゃ駄
目だ。 逃げちゃ駄目だ。 逃げちゃ駄目だ。 逃げちゃ
駄目だ。 逃げちゃ駄目だ。 逃げちゃ駄目だ。 逃げ
ちゃ駄目だ。 逃げちゃ駄目だ。 逃げちゃ駄目だ。 逃
げちゃ駄目だ。 逃げちゃ駄目だ。 逃げちゃ駄目だ。
逃げちゃ駄目だ。 逃げちゃ駄目だ。 逃げちゃ駄目
だ。 逃げちゃ駄目だ。 逃げちゃ駄目だ。 逃げちゃ駄
6. 圏(Category)
✦ C0 - 対象の集合。A, B, C, ...
✦ C1 - 射の集合。f, g, h, ...
✦ dom: C1 → C0 - 定義域
✦ cod: C1 → C0 - 値域
7. 圏(Category)
✦ id: C0 → C1 - 恒等射
✦ dom (id A) = cod (id A) = A
✦ ∘: C1×C1 → C1 - 合成
(C1×C1 := {<g, f>| dom g = cod f})
✦ dom g ∘f = dom f, cod g ∘f = cod g
8. 圏(Category)
✦ h ∘(g ∘f) = (h ∘g) ∘f - 結合律
✦ id ∘ f = f ∘ id = f - 恒等射
10. 関手(Functor)
✦ 圏Cと圏Dについて、関手F : C → Dとは、
F : C0 → D0 - 対象関数
F : C1 → D1 - 射関数
の組
11. 関手(Functor)
✦ dom Ff = F(dom f), cod Ff = F(cod f)
✦ F id = id
✦ F (g ∘f) = Fg ∘ Ff
14. 自然変換(Nat)
✦ 関手F, G:C → D について、
自然変換α:F→Gとは、
α : C0 → D1
(dom αA = FA、cod αA = GA)
16. 補足)垂直合成
✦ F, F’,F’’:C→C’
α:F→F’, β:F’→F’’について、β.α:F→F’’を
(β.α)A := βA∘αA
と定義。
17. 水平合成
✦ F, F’:C→C’、G, G’:C’→C’’
α:F→F’, β:G→G’について、β∘α:FG→F’G’を
(β∘α)A := βF’A∘GαA (= G’αA∘βFA)
と定義。
20. モノイダル圏
✦ 圏C、双関手□:C×C→C、対象I、
自然同型α:(-□-)□-→-□(-□-)、
λ:I□-→id、ρ:-□I→idについて、
21. モノイダル圏
✦ (C, □, I, α, λ, ρ)がモノイダル圏とは、
任意の対象W, X, Y ,Zについて、
W□α(X, Y, Z)∘α(W, X□Y, Z)∘α(W, X, Y)□Z
=α(W, X, Y□Z)∘α(W□X, Y, Z)
X□λ∘α(X, I, Y) = ρ□Y
22. モノイド
✦ モノイダル圏 (C, □, I, α, λ, ρ)において、
対象M、射µ:M□M→M、η:I→Mが
モノイドとは、
µ∘id□µ∘α(M, M, M) = µ∘µ□id
µ∘η□id = λ, µ∘id□η = ρ
26. モナド
✦ 関手 T:C→C、自然変換η:id→T、µ:TT→T
(T, η, µ)がモナドとは、
µ∘Tµ = µ∘µT
µ∘Tη = µ∘ηT = id