bitterharvest’s diary

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

随伴関手 - 随伴の別定義

7.7 随伴の別定義

1)別定義

随伴の定義にはこれまでと異なる方法がある。それは次のように定義される。

\(\fbox {随伴の定義2:}\)
二つの局所的に小さな圏\(\mathcal{C},\mathcal{D}\)において、関手の対\(R: \mathcal{C} \rightarrow \mathcal{D}, L: \mathcal{D} \rightarrow \mathcal{C}\)が次の条件を満たす時、随伴であるという。
\begin{eqnarray}
\mathcal{C} (L(Y),X) \simeq \mathcal{D} (Y,R(X)) \\
\end{eqnarray}

即ち、下図に示すように
f:id:bitterharvest:20180704082601p:plain

圏\(\mathcal{C}\)での関手\(L(Y)\)から関手\(X\)への自然変換の\({\rm Hom}\)集合である\(\mathcal{C}(L(Y),X)\)と、圏\(\mathcal{D}\)での関手\(Y\)から関手\(R(X)\)への自然変換の\({\rm Hom}\)集合である\(\mathcal{C}(Y,R(X))\)とが全単射である時、二つの圏\(\mathcal{C},\mathcal{D}\)は、関手\(R: \mathcal{C} \rightarrow \mathcal{D}, L: \mathcal{D} \rightarrow \mathcal{C}\)に対して、随伴であるという。

この定義がこれまで説明してきた定義と同じであることを示そう。その時の定義は次のようになっていた。
\(\fbox {随伴の定義1:}\)
二つの局所的に小さな圏\(\mathcal{C},\mathcal{D}\)において、関手の対\(R: \mathcal{C} \rightarrow \mathcal{D}, L: \mathcal{D} \rightarrow \mathcal{C}\)が次の条件を満たす時、随伴であるという。

\begin{eqnarray}
\xi : L \circ R \rightarrow I_\mathcal{C} \\
\mu : I_\mathcal{D} \rightarrow R \circ L
\end{eqnarray}

2) 両定義が同一であることの証明

それでは、定義2から定義1が導かれることを示そう。定義2の条件は、
\begin{eqnarray}
\mathcal{C} (L(Y),X) \simeq \mathcal{D} (Y,R(X))
\end{eqnarray}
である。

\(\fbox {ステップ1:\(\mu\)を得る}\)
\(X\)と\(Y\)が任意であることに注目し、\(X\)を\(L(Y)\)とすると、
\begin{eqnarray}
\mathcal{C} (L(Y),L(Y)) \simeq \mathcal{D} (Y,R \circ L (Y))
\end{eqnarray}
を得る。

左辺は\(I_{L(Y)}\)となる。また、右辺で、自然変換の一つを\(\mu_Y\)とすれば、
\begin{eqnarray}
\mu_Y : Y \rightarrow R \circ L(Y)
\end{eqnarray}
となる。

任意の\(Y\)に対して成り立つので、これを\(I_\mathcal{D} \)で置き換え、自然変換を\(\mu\)とすれば、
\begin{eqnarray}
\mu : I_\mathcal{D} \rightarrow R \circ L \circ I_\mathcal{D}
\end{eqnarray}
となる。即ち、
\begin{eqnarray}
\mu : I_\mathcal{D} \rightarrow R \circ L
\end{eqnarray}
を得る。

\(\fbox {ステップ2:\(\xi\)を得る}\)
同様に、\(Y\)を\(R(X)\)とすると、
\begin{eqnarray}
\mathcal{C} (L \circ R(X),X) \simeq \mathcal{D} (R(X),R(X))
\end{eqnarray}
を得る。

左辺で、自然変換の一つを\(\xi_Y\)とすれば、
\begin{eqnarray}
\xi_X : L \circ R(X) \rightarrow X
\end{eqnarray}
となり、右辺は\(I_{ R(X)}\)となる。そして、\(X\)を\(I_\mathcal{C} \)とすれば、
\begin{eqnarray}
\xi : L \circ R \rightarrow I_\mathcal{C}
\end{eqnarray}

これによって、定義1での\(\xi,\mu\)を得ることができたが、証明はここで終了ではない。定義2での左辺あるいは右辺が与えられた時に、この\(\xi,\mu\)を用いて、右辺あるいは左辺が得られることを示さなければならない。

そこで、定義2での左側の自然変換を\(u\)、右側のそれを\(u’\)すると、
\begin{eqnarray}
u: L(Y) \rightarrow X \\
u’: Y \rightarrow R(X)
\end{eqnarray}
として、満たされることを示そう。

\(\fbox {ステップ3:\(u,\xi,\mu\)から\(u’\)を得る}\)
最初に、\(u,\xi,\mu\)が与えられた時、\(u’\)が得られることを示そう。\(u’\)は\(Y\)を入力としているので、最初に\(\mu_Y\)を用いる。
\begin{eqnarray}
\mu_Y : Y \rightarrow R \circ L(Y)
\end{eqnarray}
これは、\( R \circ L(Y)\)を出力しているので、これを入力とする関数を作ろう。これは\( R \circ u\)である。即ち、
\begin{eqnarray}
R \circ u : R \circ L(Y) \rightarrow R(X)
\end{eqnarray}
である。上記二つの関数をつなげると、
\begin{eqnarray}
R \circ u \circ \mu_Y: Y \rightarrow R(X)
\end{eqnarray}

これより、\(u,\xi,\mu\)から\(u’\)が得られることが分かった。

\(\fbox {ステップ4:\(u',\xi,\mu\)から\(u\)を得る}\)
逆に、\(u’,\xi,\mu\)が与えられた時、\(u\)が得られることを示そう。\(u\)は\(L(Y)\)を入力としているので、これを入力とする関数を作成する。
\begin{eqnarray}
L \circ \mu_Y: L(Y) \rightarrow L \circ R \circ L(Y)
\end{eqnarray}
これは、\( L \circ R \circ L(Y)\)を出力しているので、これを入力とする関数を作る。
\begin{eqnarray}
L \circ R \circ L \circ u’ : L \circ R \circ L(Y) \rightarrow L \circ R \circ L \circ R (X)
\end{eqnarray}
である。\( L \circ R \circ L \circ R (X)\)を出力しているので、これを入力とする関数を作る。
\begin{eqnarray}
L \circ R \circ \xi_X: L \circ R \circ L \circ R (X) \rightarrow L \circ R (X)
\end{eqnarray}
上記のを連続して適応すると、
\begin{eqnarray}
L \circ R \circ \xi_X \circ L \circ R \circ L \circ u’ \circ L \circ \mu_Y: L(Y) \rightarrow L \circ R (X)
\end{eqnarray}
これに、\(\xi\)を適用すると、
\begin{eqnarray}
\xi \circ L \circ R \circ \xi_X \circ L \circ R \circ L \circ u’ \circ L \circ \mu_Y: L(Y) \rightarrow X
\end{eqnarray}

これより、\(u',\xi,\mu\)から\(u\)が得られることが分かった。

随伴の理解が進んだと思うので、次回はHaskellで実装することを考えよう。