SlideShare una empresa de Scribd logo
1 de 27
Descargar para leer sin conexión
モナモナ言うモナド入門
   2012.11.17 hiratara
今日話すこと
✦   圏論から目を背けずに 、
    モナドの定義を淡々と

✦   図はスライド作るの面倒なので板書で

✦   タイトルは@kazu_yamamoto さんの
    「モナモナ言わないモナド入門」の
    オマージュ
今日話すこと

✦   モナドは数学の概念

✦   よほどの数学嫌いでもない限り、
    回り道をして誤摩化す必要はない
ゃ駄目だ。逃げちゃ駄目だ。 逃げちゃ駄目だ。 逃げ
ちゃ駄目だ。 逃げちゃ駄目だ。 逃げちゃ駄目だ。 逃
げちゃ駄目だ。 逃げちゃ駄目だ。 逃げちゃ駄目だ。
逃げちゃ駄目だ。 逃げちゃ駄目だ。 逃げちゃ駄目
だ。 逃げちゃ駄目だ。 逃げちゃ駄目だ。 逃げちゃ駄
目だ。 逃げちゃ駄目だ。 逃げちゃ駄目だ。 逃げちゃ
駄目だ。 逃げちゃ駄目だ。 逃げちゃ駄目だ。 逃げ
ちゃ駄目だ。 逃げちゃ駄目だ。 逃げちゃ駄目だ。 逃
げちゃ駄目だ。 逃げちゃ駄目だ。 逃げちゃ駄目だ。
逃げちゃ駄目だ。 逃げちゃ駄目だ。 逃げちゃ駄目
だ。 逃げちゃ駄目だ。 逃げちゃ駄目だ。 逃げちゃ駄
圏
(Category)
圏(Category)

✦   C0 - 対象の集合。A, B, C, ...

✦   C1 - 射の集合。f, g, h, ...

✦   dom: C1 → C0 - 定義域

✦   cod: C1 → C0 - 値域
圏(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
圏(Category)


✦   h ∘(g ∘f) = (h ∘g) ∘f - 結合律

✦   id ∘ f = f ∘ id = f - 恒等射
関手
(Functor)
関手(Functor)

✦   圏Cと圏Dについて、関手F : C → Dとは、
    F : C0 → D0 - 対象関数
    F : C1 → D1 - 射関数
    の組
関手(Functor)

✦   dom Ff = F(dom f), cod Ff = F(cod f)
✦   F id = id
✦   F (g ∘f) = Fg ∘ Ff
自然変換
(Natural Transformation)
自然変換(Nat)

✦   関手F, G:C → D について、
    自然変換α:F→Gとは、
    α : C0 → D1
    (dom αA = FA、cod αA = GA)
自然変換(Nat)


✦   任意のCの射f : A → Bについて、
    αB∘Ff = Gf∘αA
補足)垂直合成

✦   F, F’,F’’:C→C’
    α:F→F’, β:F’→F’’について、β.α:F→F’’を
    (β.α)A := βA∘αA
    と定義。
水平合成

✦   F, F’:C→C’、G, G’:C’→C’’
    α:F→F’, β:G→G’について、β∘α:FG→F’G’を
    (β∘α)A := βF’A∘GαA (= G’αA∘βFA)
    と定義。
モノイド
(Monoid)
モノイダル圏

✦   圏C、双関手□:C×C→C、対象I、
    自然同型α:(-□-)□-→-□(-□-)、
    λ:I□-→id、ρ:-□I→idについて、
モノイダル圏

✦   (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
モノイド

✦   モノイダル圏 (C, □, I, α, λ, ρ)において、
    対象M、射µ:M□M→M、η:I→Mが
    モノイドとは、
    µ∘id□µ∘α(M, M, M) = µ∘µ□id
    µ∘η□id = λ, µ∘id□η = ρ
モナド
(Monad)
モナド

✦   関手 T:C→C、自然変換η:id→T、µ:TT→T
    (T, η, µ)がモナドとは、
    µ∘Tµ = µ∘µT
    µ∘Tη = µ∘ηT = id
モナモナ言うモナド入門

Más contenido relacionado

Destacado

すごいMonad入門
すごいMonad入門すごいMonad入門
すごいMonad入門真一 北原
 
関数型プログラミングとモナド
関数型プログラミングとモナド関数型プログラミングとモナド
関数型プログラミングとモナドMasayuki Isobe
 
循環参照のはなし
循環参照のはなし循環参照のはなし
循環参照のはなしMasahiro Honma
 
Nullのはなし(up用)
Nullのはなし(up用)Nullのはなし(up用)
Nullのはなし(up用)Souki Tanaka
 
関数型言語とオブジェクト指向言語(序章)
関数型言語とオブジェクト指向言語(序章)関数型言語とオブジェクト指向言語(序章)
関数型言語とオブジェクト指向言語(序章)tadaaki hayashi
 
関数プログラミング入門
関数プログラミング入門関数プログラミング入門
関数プログラミング入門Hideyuki Tanaka
 
磯野ー!関数型言語やろうぜー!
磯野ー!関数型言語やろうぜー!磯野ー!関数型言語やろうぜー!
磯野ー!関数型言語やろうぜー!Ra Zon
 

Destacado (9)

すごいMonad入門
すごいMonad入門すごいMonad入門
すごいMonad入門
 
関数型プログラミングとモナド
関数型プログラミングとモナド関数型プログラミングとモナド
関数型プログラミングとモナド
 
null使ったら負け福岡版
null使ったら負け福岡版null使ったら負け福岡版
null使ったら負け福岡版
 
循環参照のはなし
循環参照のはなし循環参照のはなし
循環参照のはなし
 
Nullのはなし(up用)
Nullのはなし(up用)Nullのはなし(up用)
Nullのはなし(up用)
 
Monad tutorial
Monad tutorialMonad tutorial
Monad tutorial
 
関数型言語とオブジェクト指向言語(序章)
関数型言語とオブジェクト指向言語(序章)関数型言語とオブジェクト指向言語(序章)
関数型言語とオブジェクト指向言語(序章)
 
関数プログラミング入門
関数プログラミング入門関数プログラミング入門
関数プログラミング入門
 
磯野ー!関数型言語やろうぜー!
磯野ー!関数型言語やろうぜー!磯野ー!関数型言語やろうぜー!
磯野ー!関数型言語やろうぜー!
 

Más de Masahiro Honma

レンズ (ぶつかり稽古の没プレゼン)
レンズ (ぶつかり稽古の没プレゼン)レンズ (ぶつかり稽古の没プレゼン)
レンズ (ぶつかり稽古の没プレゼン)Masahiro Honma
 
すべてが@__kanになる
すべてが@__kanになるすべてが@__kanになる
すべてが@__kanになるMasahiro Honma
 
Types and perl language
Types and perl languageTypes and perl language
Types and perl languageMasahiro Honma
 
カレーとHokkaidopm
カレーとHokkaidopmカレーとHokkaidopm
カレーとHokkaidopmMasahiro Honma
 
モナモナ言うモナド入門.tar.gz
モナモナ言うモナド入門.tar.gzモナモナ言うモナド入門.tar.gz
モナモナ言うモナド入門.tar.gzMasahiro Honma
 
Hachioji.pm in Machida の LT
Hachioji.pm in Machida の LTHachioji.pm in Machida の LT
Hachioji.pm in Machida の LTMasahiro Honma
 
ウヰスキーとPSGI
ウヰスキーとPSGIウヰスキーとPSGI
ウヰスキーとPSGIMasahiro Honma
 
モデルから知るGit
モデルから知るGitモデルから知るGit
モデルから知るGitMasahiro Honma
 
YAPCレポートの舞台裏
YAPCレポートの舞台裏YAPCレポートの舞台裏
YAPCレポートの舞台裏Masahiro Honma
 
Stateモナドの解説 後編
Stateモナドの解説 後編Stateモナドの解説 後編
Stateモナドの解説 後編Masahiro Honma
 
Stateモナドの解説 中編
Stateモナドの解説 中編Stateモナドの解説 中編
Stateモナドの解説 中編Masahiro Honma
 

Más de Masahiro Honma (20)

レンズ (ぶつかり稽古の没プレゼン)
レンズ (ぶつかり稽古の没プレゼン)レンズ (ぶつかり稽古の没プレゼン)
レンズ (ぶつかり稽古の没プレゼン)
 
すべてが@__kanになる
すべてが@__kanになるすべてが@__kanになる
すべてが@__kanになる
 
Types and perl language
Types and perl languageTypes and perl language
Types and perl language
 
Currying in perl
Currying in perlCurrying in perl
Currying in perl
 
カレーとHokkaidopm
カレーとHokkaidopmカレーとHokkaidopm
カレーとHokkaidopm
 
モナモナ言うモナド入門.tar.gz
モナモナ言うモナド入門.tar.gzモナモナ言うモナド入門.tar.gz
モナモナ言うモナド入門.tar.gz
 
Perl saved a lady.
Perl saved a lady.Perl saved a lady.
Perl saved a lady.
 
Levenshtein Automata
Levenshtein AutomataLevenshtein Automata
Levenshtein Automata
 
20120526 hachioji.pm
20120526 hachioji.pm20120526 hachioji.pm
20120526 hachioji.pm
 
Arrows in perl
Arrows in perlArrows in perl
Arrows in perl
 
Hachioji.pm in Machida の LT
Hachioji.pm in Machida の LTHachioji.pm in Machida の LT
Hachioji.pm in Machida の LT
 
Monads in perl
Monads in perlMonads in perl
Monads in perl
 
ウヰスキーとPSGI
ウヰスキーとPSGIウヰスキーとPSGI
ウヰスキーとPSGI
 
モデルから知るGit
モデルから知るGitモデルから知るGit
モデルから知るGit
 
YAPCレポートの舞台裏
YAPCレポートの舞台裏YAPCレポートの舞台裏
YAPCレポートの舞台裏
 
Git入門
Git入門Git入門
Git入門
 
AnyEvent and Plack
AnyEvent and PlackAnyEvent and Plack
AnyEvent and Plack
 
Math::Category
Math::CategoryMath::Category
Math::Category
 
Stateモナドの解説 後編
Stateモナドの解説 後編Stateモナドの解説 後編
Stateモナドの解説 後編
 
Stateモナドの解説 中編
Stateモナドの解説 中編Stateモナドの解説 中編
Stateモナドの解説 中編
 

Último

リアル戦国探究in米沢 当日講座1(スタッフ共有用)『兵は詐をもって立つ』についてのスライド
リアル戦国探究in米沢 当日講座1(スタッフ共有用)『兵は詐をもって立つ』についてのスライドリアル戦国探究in米沢 当日講座1(スタッフ共有用)『兵は詐をもって立つ』についてのスライド
リアル戦国探究in米沢 当日講座1(スタッフ共有用)『兵は詐をもって立つ』についてのスライドKen Fukui
 
【ゲーム理論入門】ChatGPTが作成した ゲーム理論の問題を解く #3 Slide
【ゲーム理論入門】ChatGPTが作成した ゲーム理論の問題を解く #3 Slide【ゲーム理論入門】ChatGPTが作成した ゲーム理論の問題を解く #3 Slide
【ゲーム理論入門】ChatGPTが作成した ゲーム理論の問題を解く #3 Slidessusere0a682
 
My Inspire High Award 2024「スーパーマーケットで回収されたキャベツ外葉は廃棄されているの?」
My Inspire High Award 2024「スーパーマーケットで回収されたキャベツ外葉は廃棄されているの?」My Inspire High Award 2024「スーパーマーケットで回収されたキャベツ外葉は廃棄されているの?」
My Inspire High Award 2024「スーパーマーケットで回収されたキャベツ外葉は廃棄されているの?」inspirehighstaff03
 
My Inspire High Award2024「外国人が日本のテーブルマナーに驚く理由は?」
My Inspire High Award2024「外国人が日本のテーブルマナーに驚く理由は?」My Inspire High Award2024「外国人が日本のテーブルマナーに驚く理由は?」
My Inspire High Award2024「外国人が日本のテーブルマナーに驚く理由は?」inspirehighstaff03
 
My Inspire High Award 2024 「本当の『悪者』って何?」
My Inspire High Award 2024 「本当の『悪者』って何?」My Inspire High Award 2024 「本当の『悪者』って何?」
My Inspire High Award 2024 「本当の『悪者』って何?」inspirehighstaff03
 
TEAMIN Service overview for customer_20240422.pdf
TEAMIN Service overview for customer_20240422.pdfTEAMIN Service overview for customer_20240422.pdf
TEAMIN Service overview for customer_20240422.pdfyukisuga3
 
My Inspire High Award 2024      「家族とは何か」
My Inspire High Award 2024      「家族とは何か」My Inspire High Award 2024      「家族とは何か」
My Inspire High Award 2024      「家族とは何か」inspirehighstaff03
 
My Inspire High Award 2024「他者と自分、対立を防ぐには?」
My Inspire High Award 2024「他者と自分、対立を防ぐには?」My Inspire High Award 2024「他者と自分、対立を防ぐには?」
My Inspire High Award 2024「他者と自分、対立を防ぐには?」inspirehighstaff03
 
My Inspire High Award 2024  「正義って存在するの?」
My Inspire High Award 2024  「正義って存在するの?」My Inspire High Award 2024  「正義って存在するの?」
My Inspire High Award 2024  「正義って存在するの?」inspirehighstaff03
 
リアル戦国探究in米沢 当日講座2スライド(スタッフ共有用)『人を致すも人に致されず』についてのスライド
リアル戦国探究in米沢 当日講座2スライド(スタッフ共有用)『人を致すも人に致されず』についてのスライドリアル戦国探究in米沢 当日講座2スライド(スタッフ共有用)『人を致すも人に致されず』についてのスライド
リアル戦国探究in米沢 当日講座2スライド(スタッフ共有用)『人を致すも人に致されず』についてのスライドKen Fukui
 
リアル戦国探究in米沢 事前講座1スライド(スタッフ共有用)『川中島の謎』についてのスライド
リアル戦国探究in米沢 事前講座1スライド(スタッフ共有用)『川中島の謎』についてのスライドリアル戦国探究in米沢 事前講座1スライド(スタッフ共有用)『川中島の謎』についてのスライド
リアル戦国探究in米沢 事前講座1スライド(スタッフ共有用)『川中島の謎』についてのスライドKen Fukui
 
My Inspire High Award 2024「Yakushima Islandってなんか変じゃない?」.pdf
My Inspire High Award 2024「Yakushima Islandってなんか変じゃない?」.pdfMy Inspire High Award 2024「Yakushima Islandってなんか変じゃない?」.pdf
My Inspire High Award 2024「Yakushima Islandってなんか変じゃない?」.pdfinspirehighstaff03
 
リアル戦国探究in米沢 当日講座3スライド(スタッフ共有用)『糧は三度はさいせず』についてのスライド
リアル戦国探究in米沢 当日講座3スライド(スタッフ共有用)『糧は三度はさいせず』についてのスライドリアル戦国探究in米沢 当日講座3スライド(スタッフ共有用)『糧は三度はさいせず』についてのスライド
リアル戦国探究in米沢 当日講座3スライド(スタッフ共有用)『糧は三度はさいせず』についてのスライドKen Fukui
 
My Inspire High Award 2024    「孤独は敵なのか?」
My Inspire High Award 2024    「孤独は敵なのか?」My Inspire High Award 2024    「孤独は敵なのか?」
My Inspire High Award 2024    「孤独は敵なのか?」inspirehighstaff03
 
My Inspire High Award 2024「なぜ人は他人と違うところがあってもそれをなかなか誇れないのか?」
My Inspire High Award 2024「なぜ人は他人と違うところがあってもそれをなかなか誇れないのか?」My Inspire High Award 2024「なぜ人は他人と違うところがあってもそれをなかなか誇れないのか?」
My Inspire High Award 2024「なぜ人は他人と違うところがあってもそれをなかなか誇れないのか?」inspirehighstaff03
 
My Inspire High Award 2024「老いることは不幸なこと?」
My Inspire High Award 2024「老いることは不幸なこと?」My Inspire High Award 2024「老いることは不幸なこと?」
My Inspire High Award 2024「老いることは不幸なこと?」inspirehighstaff03
 
Establishment and operation of medical corporations.pdf
Establishment and operation of medical corporations.pdfEstablishment and operation of medical corporations.pdf
Establishment and operation of medical corporations.pdfoganekyokoi
 
My Inspire High Award 2024「世の中の流行はどのようにして生まれるのか」
My Inspire High Award 2024「世の中の流行はどのようにして生まれるのか」My Inspire High Award 2024「世の中の流行はどのようにして生まれるのか」
My Inspire High Award 2024「世の中の流行はどのようにして生まれるのか」inspirehighstaff03
 
リアル戦国探究in米沢 事前講座2スライド(スタッフ共有用)『両雄の強さの秘密』についてのスライド
リアル戦国探究in米沢 事前講座2スライド(スタッフ共有用)『両雄の強さの秘密』についてのスライドリアル戦国探究in米沢 事前講座2スライド(スタッフ共有用)『両雄の強さの秘密』についてのスライド
リアル戦国探究in米沢 事前講座2スライド(スタッフ共有用)『両雄の強さの秘密』についてのスライドKen Fukui
 
My Inspire High Award 2024 「AIと仲良くなるには?」
My Inspire High Award 2024 「AIと仲良くなるには?」My Inspire High Award 2024 「AIと仲良くなるには?」
My Inspire High Award 2024 「AIと仲良くなるには?」inspirehighstaff03
 

Último (20)

リアル戦国探究in米沢 当日講座1(スタッフ共有用)『兵は詐をもって立つ』についてのスライド
リアル戦国探究in米沢 当日講座1(スタッフ共有用)『兵は詐をもって立つ』についてのスライドリアル戦国探究in米沢 当日講座1(スタッフ共有用)『兵は詐をもって立つ』についてのスライド
リアル戦国探究in米沢 当日講座1(スタッフ共有用)『兵は詐をもって立つ』についてのスライド
 
【ゲーム理論入門】ChatGPTが作成した ゲーム理論の問題を解く #3 Slide
【ゲーム理論入門】ChatGPTが作成した ゲーム理論の問題を解く #3 Slide【ゲーム理論入門】ChatGPTが作成した ゲーム理論の問題を解く #3 Slide
【ゲーム理論入門】ChatGPTが作成した ゲーム理論の問題を解く #3 Slide
 
My Inspire High Award 2024「スーパーマーケットで回収されたキャベツ外葉は廃棄されているの?」
My Inspire High Award 2024「スーパーマーケットで回収されたキャベツ外葉は廃棄されているの?」My Inspire High Award 2024「スーパーマーケットで回収されたキャベツ外葉は廃棄されているの?」
My Inspire High Award 2024「スーパーマーケットで回収されたキャベツ外葉は廃棄されているの?」
 
My Inspire High Award2024「外国人が日本のテーブルマナーに驚く理由は?」
My Inspire High Award2024「外国人が日本のテーブルマナーに驚く理由は?」My Inspire High Award2024「外国人が日本のテーブルマナーに驚く理由は?」
My Inspire High Award2024「外国人が日本のテーブルマナーに驚く理由は?」
 
My Inspire High Award 2024 「本当の『悪者』って何?」
My Inspire High Award 2024 「本当の『悪者』って何?」My Inspire High Award 2024 「本当の『悪者』って何?」
My Inspire High Award 2024 「本当の『悪者』って何?」
 
TEAMIN Service overview for customer_20240422.pdf
TEAMIN Service overview for customer_20240422.pdfTEAMIN Service overview for customer_20240422.pdf
TEAMIN Service overview for customer_20240422.pdf
 
My Inspire High Award 2024      「家族とは何か」
My Inspire High Award 2024      「家族とは何か」My Inspire High Award 2024      「家族とは何か」
My Inspire High Award 2024      「家族とは何か」
 
My Inspire High Award 2024「他者と自分、対立を防ぐには?」
My Inspire High Award 2024「他者と自分、対立を防ぐには?」My Inspire High Award 2024「他者と自分、対立を防ぐには?」
My Inspire High Award 2024「他者と自分、対立を防ぐには?」
 
My Inspire High Award 2024  「正義って存在するの?」
My Inspire High Award 2024  「正義って存在するの?」My Inspire High Award 2024  「正義って存在するの?」
My Inspire High Award 2024  「正義って存在するの?」
 
リアル戦国探究in米沢 当日講座2スライド(スタッフ共有用)『人を致すも人に致されず』についてのスライド
リアル戦国探究in米沢 当日講座2スライド(スタッフ共有用)『人を致すも人に致されず』についてのスライドリアル戦国探究in米沢 当日講座2スライド(スタッフ共有用)『人を致すも人に致されず』についてのスライド
リアル戦国探究in米沢 当日講座2スライド(スタッフ共有用)『人を致すも人に致されず』についてのスライド
 
リアル戦国探究in米沢 事前講座1スライド(スタッフ共有用)『川中島の謎』についてのスライド
リアル戦国探究in米沢 事前講座1スライド(スタッフ共有用)『川中島の謎』についてのスライドリアル戦国探究in米沢 事前講座1スライド(スタッフ共有用)『川中島の謎』についてのスライド
リアル戦国探究in米沢 事前講座1スライド(スタッフ共有用)『川中島の謎』についてのスライド
 
My Inspire High Award 2024「Yakushima Islandってなんか変じゃない?」.pdf
My Inspire High Award 2024「Yakushima Islandってなんか変じゃない?」.pdfMy Inspire High Award 2024「Yakushima Islandってなんか変じゃない?」.pdf
My Inspire High Award 2024「Yakushima Islandってなんか変じゃない?」.pdf
 
リアル戦国探究in米沢 当日講座3スライド(スタッフ共有用)『糧は三度はさいせず』についてのスライド
リアル戦国探究in米沢 当日講座3スライド(スタッフ共有用)『糧は三度はさいせず』についてのスライドリアル戦国探究in米沢 当日講座3スライド(スタッフ共有用)『糧は三度はさいせず』についてのスライド
リアル戦国探究in米沢 当日講座3スライド(スタッフ共有用)『糧は三度はさいせず』についてのスライド
 
My Inspire High Award 2024    「孤独は敵なのか?」
My Inspire High Award 2024    「孤独は敵なのか?」My Inspire High Award 2024    「孤独は敵なのか?」
My Inspire High Award 2024    「孤独は敵なのか?」
 
My Inspire High Award 2024「なぜ人は他人と違うところがあってもそれをなかなか誇れないのか?」
My Inspire High Award 2024「なぜ人は他人と違うところがあってもそれをなかなか誇れないのか?」My Inspire High Award 2024「なぜ人は他人と違うところがあってもそれをなかなか誇れないのか?」
My Inspire High Award 2024「なぜ人は他人と違うところがあってもそれをなかなか誇れないのか?」
 
My Inspire High Award 2024「老いることは不幸なこと?」
My Inspire High Award 2024「老いることは不幸なこと?」My Inspire High Award 2024「老いることは不幸なこと?」
My Inspire High Award 2024「老いることは不幸なこと?」
 
Establishment and operation of medical corporations.pdf
Establishment and operation of medical corporations.pdfEstablishment and operation of medical corporations.pdf
Establishment and operation of medical corporations.pdf
 
My Inspire High Award 2024「世の中の流行はどのようにして生まれるのか」
My Inspire High Award 2024「世の中の流行はどのようにして生まれるのか」My Inspire High Award 2024「世の中の流行はどのようにして生まれるのか」
My Inspire High Award 2024「世の中の流行はどのようにして生まれるのか」
 
リアル戦国探究in米沢 事前講座2スライド(スタッフ共有用)『両雄の強さの秘密』についてのスライド
リアル戦国探究in米沢 事前講座2スライド(スタッフ共有用)『両雄の強さの秘密』についてのスライドリアル戦国探究in米沢 事前講座2スライド(スタッフ共有用)『両雄の強さの秘密』についてのスライド
リアル戦国探究in米沢 事前講座2スライド(スタッフ共有用)『両雄の強さの秘密』についてのスライド
 
My Inspire High Award 2024 「AIと仲良くなるには?」
My Inspire High Award 2024 「AIと仲良くなるには?」My Inspire High Award 2024 「AIと仲良くなるには?」
My Inspire High Award 2024 「AIと仲良くなるには?」
 

モナモナ言うモナド入門

  • 1. モナモナ言うモナド入門 2012.11.17 hiratara
  • 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
  • 12.
  • 14. 自然変換(Nat) ✦ 関手F, G:C → D について、 自然変換α:F→Gとは、 α : C0 → D1 (dom αA = FA、cod αA = GA)
  • 15. 自然変換(Nat) ✦ 任意のCの射f : A → Bについて、 αB∘Ff = Gf∘αA
  • 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) と定義。
  • 18.
  • 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□η = ρ
  • 23.
  • 24.
  • 26. モナド ✦ 関手 T:C→C、自然変換η:id→T、µ:TT→T (T, η, µ)がモナドとは、 µ∘Tµ = µ∘µT µ∘Tη = µ∘ηT = id