圏
圏は以下の4つの要素と、2つの条件から構成される
4つ組\mathscr{A}=(\mathrm{ob}(\mathscr{A}),\mathscr{A}(A,B),\circ, \mathrm{id})のこと
要素
対象の集まり
\mathrm{ob}(\mathscr{A}) 単に\mathscr{A}と表記したりもする
「対象」と聞くとどうしても集合をイメージしてしまいがちだが、集合である必要はない
対象はA\in\mathscr{A}
\mathscr{A}は「対象の集まり」であって、一つ一つの対象はAなどで表す
プログラミングの型
各対象X, Yに対して「\mathscr{A}(X, Y)」は対象Xから対象Yへの射の集まり
対象の集まり\mathscr{A}の中の2つの対象X,Yの組が射の集まり\mathscr{A}(X,Y)
なのでXからYへ行く射にも複数あって、それがfだったり、gだったりする
このfやgの集まりが\mathscr{A}(X,Y)
\mathrm{Hom}_\mathscr{A}(X,Y)や\mathrm{Hom}(X,Y)とも表記される
f\in\mathscr{A}(X, Y)に対し、Xをfの定義域(domain)、Yをfの値域(codomain)という
「射」も対象の場合と同じく、関数をイメージしてしまいがちだが、関数である必要はない
プログラミングの関数
合成\circ
射の合成
プログラミングの関数合成
条件
f \circ \mathbb{id_{A}}=f=\mathbb{id_{B}} \circ f.
(h \circ g) \circ f=h \circ(g \circ f).
圏の例
\emptyset: 対象と射を持たない圏
参考
元は気にしない。集合と写像に注目する