随伴とカリー化とStateモナド

自分用殴り書きメモ
2
ちゅーん @its_out_of_tune

関手F:C→DとG:D→Cを考える

2014-08-27 23:46:44
ちゅーん @its_out_of_tune

c∈C, d∈Dとして、Hom_D(Fc→d) とHom_C(Gd→c)が同型である時、FをGの左随伴であるという。

2014-08-27 23:50:20
ちゅーん @its_out_of_tune

訂正。c∈C, d∈Dとして、Hom_D(Fc→d) とHom_C(c→Gd)が同型である時、FをGの左随伴であるという。 こうか。

2014-08-27 23:58:28
Jun Inoue @jun0inoue

@its_out_of_tune その同型射が c, d について自然、も追加

2014-08-27 23:59:50
dif_engine @dif_engine

@its_out_of_tune Gを左にどっこいしょするとFになるときにFをGの左随伴と呼ぶ、とすると覚えやすい予感

2014-08-28 00:00:17
ちゅーん @its_out_of_tune

で、F=(-)×A、G=(-)^Aとした時、Hom_D(c✕A→d) とHom_C(c→d^A)は同型になる。即ちcurryはuncurryの左随伴である。

2014-08-28 00:03:28
ちゅーん @its_out_of_tune

で、良くわかってないんだけど、F○Gはモナドのreturnに相当するのだそうだ(´・ω・`)

2014-08-28 00:05:52
ちゅーん @its_out_of_tune

で、先ほどのカリー化の例で考えると、G○F=((-)✕A)^Aとなる。これがまさにStateモナドのrunState:s→(a,s)

2014-08-28 00:12:34
ちゅーん @its_out_of_tune

このsにRealWorldを取ったのが、IOモナド。という事らしい(´・ω・`)

2014-08-28 00:13:09
ちゅーん @its_out_of_tune

た、多分あってる(´・ω・`)

2014-08-28 00:13:26
ちゅーん @its_out_of_tune

復習終わり(´・ω・`)なんとな〜く随伴わかってきたと思う。

2014-08-28 00:14:48
ちゅーん @its_out_of_tune

なんかJoinはもーちょいわからん感じだった、GFGFcからGFcへの射が一意に定まるという話だけど…

2014-08-28 00:20:52
ちゅーん @its_out_of_tune

とりあえず、Stateの定義が何で出てくんのかってのは思ってたけど、前提知識としてさっきのがあり、目の前にHaskellがあれば、そりゃやって見るよね、という話では在る。けど、RealWorldを状態に持たせちゃえば良いじゃんというアイディアはやっぱクレイジーだと思う。

2014-08-28 00:25:01