bitterharvest’s diary

A Bitter Harvestは小説の題名。作者は豪州のPeter Yeldham。苦闘の末に勝ちえた偏見からの解放は命との引換になったという悲しい物語

極限-余極限の例

2.2 余極限の抽象化

前回と同じように、余極限を抽象化してみよう。ここでは、下図のように、三つの圏を用意する。最初の圏\(\mathcal{C_0}\)は、余錐の頂点からなる圏だ。次の圏\(\mathcal{C}\)は余錐で構成される圏だ。最後の圏\([\mathcal{I,C}]\)はインデックス圏から余錐を構成したときの自然変換を射とする圏だ。
f:id:bitterharvest:20180105154344p:plain

今、圏\(\mathcal{C_0}\)で、対象\(C,C’\)の間の射は\(f:C \rightarrow C’\)であったとする。圏\(\mathcal{C_0}\)から圏\(\mathcal{C}\)には、ある関手によって、上図の中ほどのように写されたとする。同様に、圏\(\mathcal{C_0}\)から圏\([\mathcal{I,C}]\)には上図の右側のように写されたとする。

前回と同じように、圏\(\mathcal{C}\)と圏\([\mathcal{I,C}]\)の間では上図のように可換が成り立つ。従って、圏\(\mathcal{C}\)で余錐を与えると、圏\([\mathcal{I,C}]\)からそれはどのような性格を有しているのかを得ることができる。

上の図は、下のような可換図に書き換えることができる。
f:id:bitterharvest:20180105154420p:plain

それでは、上の図を用いて、余極限のいくつかの例を挙げることにしよう。なお、例をあげるとき、対象\(C\)と余極限である対象\(ColimD\)とは一緒であるとする。

2.3 余極限の例

1)始対象

最初の例は、下図に示すように、余錐の上面が存在しない場合である。
f:id:bitterharvest:20180105154453p:plain

上面が存在しないので、圏\(\mathcal{C}\)では余錐は頂点だけからなる。また、余極限の余錐\(C=ColimD\)から任意の余錐\(C’\)に対して、一意的に定まる射\(m’\)が存在する。これを、圏\([\mathcal{I,C}]\)に写すと下図のようになる。これから、関手\(\Delta_C\)から任意の関手\(\Delta_C’\)への射が一意的に定まることから関手\(\Delta_C\)が始対象であることが分かる。

2)余積

それでは、余錐が独立した
2頂点で構成されている場合を考えよう。下図のようになる。
f:id:bitterharvest:20180105154554p:plain

圏\(\mathcal{C}\)では、2頂点の余極限の余錐は上図の左側のようになる。これに、任意の余錐を加えたのが真ん中の図である。これを圏\([\mathcal{I,C}]\)に写したのが右図である。\(\Delta_C\)から\(\Delta_{C’}\)への射が一意的に定まることから、下図に示すように余積となる。
f:id:bitterharvest:20180105154615p:plain

3) コイコライザ

それでは、2頂点と、その間を同じ方向に二つの射が結んでいるような余錐について考えてみよう。下図のようになる。
f:id:bitterharvest:20180105154638p:plain

錐の場合にはイコライザであったが、今回の場合はコイコライザになる。コイコライザの定義は次のようになっている。
「コイコライザの定義」適当な対象\(Q\)と射\(q:Y \rightarrow Q\)で\(q \circ f = q \circ g\)を満たすものが存在し、任意の対象\(Q’\)と射\(q’:Y \rightarrow Q’\)の組\((Q’,q’)\)で、\(q’ \circ f = q’ \circ g\)が与えられた時、射\(u:Q \rightarrow Q’\)が\(u \circ q=q’\)を満たすものが一意的に存在するとき、\((Q,q)\)の組をコイコライザという(下図参照)。
f:id:bitterharvest:20180105154724p:plain

4) 押し出し

最後は上面の頂点が3個あり、一つから他の二つの頂点へ射が与えられている場合だ。これは下図のようになる。
f:id:bitterharvest:20180105154944p:plain

これと双対の関係にあるものは、引き戻し(pullback)と呼ばれ、データベースを応用例として紹介した。
余極限の場合には、押し出し(pushout)と呼ばれ、共通のドメインを有する射の対が極限となる。

Puzzleと呼ばれるホームページに、押し出しを説明するのにちょうどよい例が上がっていたので、これを用いて説明しよう。
f:id:bitterharvest:20180105155727p:plain

ホームページには、鹿なのだろうか、2匹の小動物が、角をくっつけあって遊んでいる木工パズルが紹介されている。

小動物をそれぞれ\(A,B\)、くっつけあっている部分を\(Z\)とすると、上図のパズルが完成した様子は\(A \cup_f B\)と記述することができる。ここで、\(\cup_f \)は\(Z\)の部分で接合しているという意味である。なお、もう少し正確に説明すると、\(Z\)は\(B\)の部分集合で、接合される部分である。\(f:Z \rightarrow A\)は\(A\)の接合部分を求める関数である。\(f(Z)\sim Z\)は\(f(Z)\)と\(Z\)が同値であることを示すもので、これにより、接合部分がくっつけられたことを意味する。

接合部\(Z\)は、\(A\)と\(B\)のぞれぞれの部分となっている。\(Z\)から\(A\)と\(B\)への射がこれを表している。また、\(A\)と\(B\)は、パズルが完成したときの構造物\(A \cup_f B\)の一部となっているので、それぞれから射が存在する。

上記で用いたのはattaching functionと呼ばれるものである。これが押し出しの例になるということを示したが、この関数についてさらに知りたい人は、WikipediaでAdjunction spaceを参照するとよい。

次の記事では、Haskellでの極限と余極限の利用例を示そう。