bitterharvest’s diary

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

圏論:ストリング・ダイアグラム ー 関手

1.5 関手

関手は、未知の圏を既知の圏から観察できるようにしてくれる、圏論の中でも重要な概念の一つである。二つの圏が与えられたとき、これらを関手でつなぐことによって、一方の圏が持つ代数的構造を、他方の圏に持ち込むことが可能になり、他方を観察できるようにしてくれる。関手に要求されているのはとても単純で、射の合成を保存することである。

関手は、射の対応づけの違いによって2種類ある。その一つは共変関手(covariant functor)と呼ばれ、射の向きが変わることはない。他の一つは反変関手(contravariant functor)と呼ばれ、射の向きが逆になる。

共変関手は次のように定義される。二つの圏\(\mathcal{C},\mathcal{D}\)が存在したとき、共変関手\(F\)は
1) \(\mathcal{C}\)のそれぞれの対象\(X\)を\(\mathcal{D}\)の対象\(F(X)\)に対応させる。
2) \(\mathcal{C}\)のそれぞれの射\(f : X \rightarrow Y \)を\(\mathcal{D}\)の射\(F(f): F(X) \rightarrow F(Y) \)に対応させる。
そして以下の条件を満たす(これは恒等射と射の合成を保存するものである)。
3) \(\mathcal{C}\)のそれぞれの対象\(X\)に対して、その恒等射\(I_X\)は写された側でも恒等射となる。すなわち\( F(I_X)=I_{F(X)} \)である。
4) \(\mathcal{C}\)の任意の射\(f : X \rightarrow Y, g : Y \rightarrow Z \)に対して、\(F(g \circ f) = F(g) \circ F(f) \)である。

それでは最初に1)と2)をストリング・ダイアグラムで表すことを考えよう。対象と射の関係を表すと図21になる。

f:id:bitterharvest:20200428132209p:plain:w350
図21:二つの圏を結ぶ関手

例によって圏\(1\)を用いて、\(\mathcal{C}\)の対象と射を、関手と自然変換として表すことで図22を得る。

f:id:bitterharvest:20200428132317p:plain:w380
図22:圏\(1\)と結ぶ

これをpasting diagramで表すと図23となる。

f:id:bitterharvest:20200428132348p:plain:w380
図23:pasting diagramで表す。

これよりストリング・ダイアグラムを得るが、その表し方は図24に示すように複数あり、どれを選ぶかは好き好きでケースバイケースである。

f:id:bitterharvest:20200428132443p:plain
図25:ストリング・ダイアグラムで表す。

3)での恒等射の保存に対するストリング・ダイアグラムは図25となる。

f:id:bitterharvest:20200428132726p:plain:w300
図25:恒等射に関連する条件
また、4)での合成の保存については図26となる。
f:id:bitterharvest:20200428133831p:plain
図26:射の合成に関する条件

反変関手では、前述したように、関手によって移される射の向きが逆になる。従って上記で、2)と4)が次のように変わる。
2) \(\mathcal{C}\)のそれぞれの射\(f : X \rightarrow Y \)を\(\mathcal{D}\)の射\(F(f): F(Y) \rightarrow F(X) \)に対応させる。
4) \(\mathcal{C}\)の任意の射\(f : X \rightarrow Y, g : Y \rightarrow Z \)に対して、\(F(g \circ f) = F(f) \circ F(g) \)である。

しかし図27に示すように、\(\mathcal{C}\)の双対圏\(\mathcal{C^{op}}\)を用意することで、\(\mathcal{C}\)と\(\mathcal{D}\)に対してではなく、\(\mathcal{C^{op}} \)と\(\mathcal{D}\)の間で考えればよいことになるので、共変関手の概念だけで取り扱うことが可能になる。

f:id:bitterharvest:20200428135926p:plain
図27:反変関手は、共変関手として扱う

用語説明:モノイドの圏


全ての小さい圏を対象とし、圏の間の関手を射とした圏は、小さい圏の圏\(\mathbf{Cat}\)と呼ばれる。また対象をモノイドに限定したときは、モノイドの圏\(\mathbf{Mon}\)と呼ばれる。先に説明したように、関手は合成を保存\(F(g \circ f) = F(g) \circ F(f)\)するので、モノイドの圏\(\mathbf{Mon}\)では、次のモノイド準同型が成り立つ。

モノイド準同型の定義:モノイドの圏\(\mathbf{Mon}\)に、二つのモノイド\(M,M'\)があり(これらは対象である)、\(M\)での射を\(a,b,c...\)とし、その合成を\(\circ\)とし、\(M'\)での合成を\(\bullet\)とし、\(M\)から\(M'\)への関手を\(F\)とする。このとき、モノイド準同型であるとは、\( F ( a \circ b \circ c ... )=F(a) \bullet F(b) \bullet F(c) ... \)が成り立つというものである。

モノイド準同型は関手の性質\(F(g \circ f) = F(f) \circ F(g) \)から容易に導き出されるが、ここでは例で示すことにとどめておく。
二つのモノイド\(M,M'\)を用意しよう。\(M\)は文字列の接続に関するもの、\(M'\)は前の記事で説明した自然数の加算としよう。これらの関手として文字列の長さを計算する\(length\)が用意されていたとしよう。

二つのモノイドは、モノイドの圏での対象であり、関手はこの圏での射であるので、これは図28になる。

f:id:bitterharvest:20200428153724p:plain
付録6:モノイドの圏でのモノイド準同型

それでは構成要素を見ていこう。まずはモノイドの圏\(\mathbf{Mon}\)の主要な構成要素は、
1) 対象:文字列に関するモノイド、自然数の加算を行うモノイドなどのモノイド
2) 射:文字列の長さを求める\(length\)などの関手

この圏の対象になっている圏は次のような構成である。文字列に関するモノイド\(M\)は
1) 対象:★
2) 射:文字列
3) 恒等射:空の文字列
4) 合成:文字列の接続\(++\)

自然数の加算に関するモノイド\(M'\)は
1) 対象:★
2) 射:自然数
3) 恒等射:\(0\)
4) 合成:加算\(+\)

関手\(length\)は、文字列の接続に関する計算を、自然数の加算に関する計算に持ち込む。
例えば、つぎの文字列の接続が与えられたとする。
\begin{eqnarray}
a &=& "This" ++ "\ " ++ "is” ++ "\ " \\
&& ++ "a" ++ "\ " ++ "pen" ++ "."
\end{eqnarray}
このとき、関手\(length\)は、これを長さの計算に置き換える。このとき、関手の性質から
\begin{eqnarray}
length(a) &=& \\
&& length("This" ++ "\ " ++ is ++ "\ " \\
&& ++ "a" ++ "\ " ++ "pen" ++ ".") \\
&=& length("This") + length("\ ") + length("is") + length("\ ") \\
&& + length("a") + length("\ ") + length("pen") + length(".")
\end{eqnarray}
となり、モノイド準同型となっていることが分かる。
ここでは一つの例を示したが、一般に言えることである。証明はしてください。