関数合成で定義されている。絵で描くとこんな感じになる。関数の定義と絵がだいたい対応しているのが分かると思う。この絵からは集合と写像が思い出されることだろう。みなすとのように単純な形が浮き彫りとなる。圏っぽさが増したと主張したい。このように内部構造を気にせず済む感じがきっと大切なんだろうと思う。合成射で見たように、一意に存在するため描画を省略している。前の例は、値の集合からなる型が対象で、内部構造が複雑だった。ここでは値がそのまま1つの対象となるような単純な圏を考える。的な意味では少し難しくなってしまう。自然数の値を1つの型として、それを自然数倍する関数を考える。2)とすれば2を2倍の5倍した20が返って来ることを確認できるはずだ。n)絵で描くとこんな感じになる。自然数と自然数倍が圏なことを理解できるのではないだろうか。言う同じ名前の射が2つあるけれども、ここでは型(すなわち始域と終域)が異なる射を別の射とみなす。対象1つで射が整数値の圏これまでの例ではいずれも対象が型で射は関数だった。ここでは射が関数ではないような圏を考える。いう射がたくさんある。i2絵で描くとこんな感じになる。恒等射以外にも、自分自身に戻ってくるような射がたくさんある。射がたくさんあるというのは誤解を招くかもしれない。射の合成が文字列の連結、恒等射は空文字とする例が適切であったかもしれない7。することができるはずだ。圏があると何が嬉しいのか、その片鱗を見てみたい。圏がある場合に定義が可能となる直積8とその双対概念9である余直積を通して圏論を感じよう。一意に存在し次の図式が可換になる。一意に存在し次の図式が可換になる。急に絵を持ち出されて、可換になると言われても困るし、そもそも可換が何を意味するのかすら分からない。上記の定義が何を意味するのか探り当てよう。対象が型で射が関数な圏の場合からだ。直積の定義は直積集合を意味し、絵で描くとこんな感じになる。直積集合の下位集合たちが赤や青や緑で描かれている。対し定義のような射が存在する。実線の射が存在すれば、点線の射が一意に存在することが分かるだろう。直積集合はタプルで済ませたが、直和集合は以下のデータ型を定義する。Show余直積の定義は直和集合を意味し、絵で描くとこんな感じになる。直和集合の上位集合たちが赤や青や緑で描かれている。対し定義のような射が存在する。実線の射が存在すれば、点線の射が一意に存在することが分かるだろう。みなすとのように、直積集合と直和集合が内部構造に触れることなく定義される。直積集合と直和集合は、矢印を逆にした、互いに双対となっている。良くは分からないけど何か凄いことが起きているような気がしてくる。矢印を逆にした、というと逆射かな?と思ってしまうがそれとは何か違う模様10。次に、対象が自然数で射が自然数倍の圏を考えよう。直積は最大公約数を意味し11、余直積は最小公倍数を意味する。これ、分かりやすいと思うし、面白いと思うんですよね。絵で描くとこんな感じになる。なんと最大公約数と最小公倍数は互いに双対の関係だった。定義を振り返りつつ、可換図式が意味する所を理解したい。図式を用いないで直積と余直積の定義を書くと以下となる。\varepsilon_{b}$。図を用いる定義とはそれぞれ最終行だけが異なり、1つの可換図式が2つの等式をあらわしていることになる。存在することを意味する。圏の定義を理解していない状態だと難しく感じた気がする。描くことを省いているが、これで十分に事足りることが分かるのではないかと思います。求めよという問いに対してその答えがひとつだけ存在すると言うことを意味する。分解と言ったりするらしい。定義に従って具体例を考えてみたところ確かに直積と余直積を感じることができた気がする。定義がややこしく思えて覚えられる気はしない。そこで、次のように図を段階的に捉えてみよう。各対象への射(各対象からの射)を考える。(射の向きに応じて2つのパターン考えることができる。ある対象と別の対象との間に点線の射を考える。加えた射を分解するような向きの射を考える。)この捉え方をどうやら極限12や余極限と言うらしい。他の図に変えると他の概念が定義できる。極限の正式な定義13には関手や自然変換の理解が必要となる。圏の定義を理解する助けには間違いなくなると信じたい。抽象的な定義に触れた経験がないと厳しいと思われる。自分の知ってるベクトルがベクトル空間の定義を満たしていることを確認してみると良いかもしれない。そのような状況が訪れるかどうかについては考えないものとする。↩これは読者への宿題としておく(これが言いたい)。requestStockLike24@norkron記事に対して疑問や不明があればコメントやツイッターへお気軽にどうぞ。upLoginユーザーは見つかりませんでした。