圏
圏は以下の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)
https://gyazo.com/3204c78337fd15ee35a9242a78420a27
$ \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: 対象と射を持たない圏
参考
元は気にしない。集合と写像に注目する