らんだむな記憶

blogというものを体験してみようか!的なー

圏論(33)と続・coslice category

slice categoryを鏡面反転させたような形が coslice category になっている。ということで、slice categoryを鏡面反転させて辻褄を合わせた可換図式を書いてみる。

\begin{equation}
\begin{CD}
C @= C @= C \\
@V f^* VV \circlearrowright @VV (f^\prime)^* V \circlearrowright @VV (f^{\prime\prime})^* V \\
X @< a^* << X^\prime @< b^* << X^{\prime\prime}
\end{CD}
\end{equation}

ここでは関係は $f^* = (f^\prime \circ a)^* = a^* \circ (f^\prime)^*$ となる。
これで形の上で slice category の形になるが、arrows だけでなく objects を変えてしまっているので、 slice category の opposite と coslice category が isomorphic だという類の表現はできなさそうだ。

なお、Comma category - Wikipedia, the free encyclopediaによると、 slice category にせよ coslice category にせよ commma category の特殊な場合のようである。

――― 順番が前後するが、圏論(35)と続 opposite category - らんだむな記憶を踏まえて妄想する。
まず、 $\mathbf{C}^\mathrm{op}/C$ がどういうものか考える。

  • objects: $f^* \in \mathbf{C}^\mathrm{op} \,\,\,\text{s.t.}\,\, \mathrm{cod}(f^*) = C$
  • arrows:

\begin{equation}
\begin{CD}
X @> a >> X^\prime @> b >> X^{\prime\prime} \\
@V f^* VV \circlearrowright @VV (f^\prime)^* V \circlearrowright @VV (f^{\prime\prime})^* V \\
C @= C @= C
\end{CD}
\end{equation}

これで、実質 $\mathrm{dom}(f) = C$ みたいな形の arrow が裏に存在する形になる。
更に、 $(\mathbf{C}^\mathrm{op}/C)^\mathrm{op}$ を考えると、
\begin{equation}
\begin{CD}
X @< a^* << X^\prime @< b^* << X^{\prime\prime} \\
@V f^* VV \circlearrowright ? @VV (f^\prime)^* V \circlearrowright ? @VV (f^{\prime\prime})^* V \\
C @= C @= C
\end{CD}
\end{equation}

となりそうだが...。可換図式のことを考えるとえらい奇妙な絵になってしまう...。イマイチ綺麗にまとまらないのでとりあえず放置。

Slice of opposite category equivalent to coslice of category? - Mathematics Stack Exchangeにもう答えみたいな議論があるが、slice category にせよ、coslice category にせよ、その opposite category を包括的な可換図で書くと非常にもやもやしたものがでてくる。図での表現の限界のような気もするので、この辺で一旦図を離れて実際に functor を構成して式で繋ぎ合わせるのが良いかもしれないなぁ。

――― 段々分かってきた気がする。そしてこの記事は縦に伸びる。思考の痕跡を残すため、ぼちぼち元の紆余曲折を残しておく。
要は「category 実装時の」可換図式に囚われ過ぎていたということだ。ある category の実装と、その実装された category の category のレベルでの「実装の詳細を忘れた」同型を混ぜこぜにしてはならんということだな。category という上っ面だけを見ろと。

1. category $\mathbf{C}^\mathrm{op}/C$ の実装
$\mathbf{C}^\mathrm{op}/C$ を実装する。

  • objects: $f^* \in \mathbf{C}^\mathrm{op} \,\,\,\text{s.t.}\,\, \mathrm{cod}(f^*) = C$
  • arrows: 以下のような可換図式を満たすもの:

\begin{equation}
\begin{CD}
X @> a >> X^\prime @> b >> X^{\prime\prime} @> c >> X^{\prime\prime\prime} \\
@V f^* VV \circlearrowright @VV (f^\prime)^* V \circlearrowright @VV (f^{\prime\prime})^* V \circlearrowright @VV (f^{\prime\prime\prime})^* V \\
C @= C @= C @= C
\end{CD}
\end{equation}

2. 実装された category $\mathbf{C}^\mathrm{op}/C$ の構造
実装時に用いた $\mathbf{C}$ のレベルでの可換図はもう不要なので忘れる。忘れた以下の形が $\mathbf{C}^\mathrm{op}/C$ の構造:

  • objects: $f^* \in \mathbf{C}^\mathrm{op} \,\,\,\text{s.t.}\,\, \mathrm{cod}(f^*) = C$
  • arrows: 以下のような可換図式を満たすもの:

\begin{equation}
\begin{CD}
X @> a >> X^\prime @> b >> X^{\prime\prime} @> c >> X^{\prime\prime\prime} \\
@V f^* VV @VV (f^\prime)^* V @VV (f^{\prime\prime})^* V @VV (f^{\prime\prime})^* V \\
C @= C @= C @= C
\end{CD}
\end{equation}

勿論実装の詳細によって arrows が選別されているからだが、この時点で取捨選択された arrows $\mathbf{a}, \mathbf{b}, \mathbf{c}, \cdots$ は composition の性質を自動的に見たすものであり、この時点で見えているインターフェイスは間違いなく category である。
より適切には、
\begin{equation}
f^* \overset{\mathbf{a}}{\to} (f^\prime)^* \overset{\mathbf{b}}{\to} (f^{\prime\prime})^*\overset{\mathbf{c}}{\to} (f^{\prime\prime\prime})^*
\end{equation}

だろうか。

3. contravariant function $F$
いきなり antiisomorphism に持ち込む技量がないので contravariant functor を作る。「categories がantiisomorphic である」というのは「双方向の contravariant functors が見いだせて、合成するとそれぞれの identity functors ができあがる」ということであるのだから。

contravariant functor $F: \mathbf{C}^\mathrm{op}/C \to C/\mathbf{C}$

  • objects: $\mathbf{C}^\mathrm{op}/C \ni f^* \to f \in C/\mathbf{C}$ (opposite category と同様に形式的に domain と codomain を入れ替えた arrow にうつす)
  • arrows: $\mathbf{C}^\mathrm{op}/C \ni [\mathbf{a}: f^* \to (f^\prime)^*] \to [\mathbf{a^*}: f^\prime \to f] \in C/\mathbf{C}$

ここで、$\mathbf{a^*}$ について触れる。 $\mathbf{a} = (a,1_C)$ と書いた場合に、$a$ の domain と codomain を形式的に入れ替えたものを $a^*$ と書くことにすると、 $\mathbf{a^*} := (a^*, 1_C)$ で定められる。
この時、 $F$ は contravariant functor になっている。実装の詳細をふと思い出すと、 $(f^\prime)^* \circ a = f^*$ であったので、dual をとることで、 $a^* \circ f^\prime = f$ となるのだが、それ故に contravariant な関係にならざるを得ない。

3-1. contravariant function $F$ によってどう見えるか?
contravariant functor によって、以下の形で coslice category $C/\mathbf{C}$ が見えている。
\begin{equation}
\begin{CD}
C @= C @= C @= C \\
@V f VV @VV f^\prime V @VV f^{\prime\prime} V @VV f^{\prime\prime} V \\
X @< a^* << X^\prime @< b^* << X^{\prime\prime} @< c^* << X^{\prime\prime\prime}
\end{CD}
\end{equation}

いまとなっては不要なのだが、ライブラリのソースコードを読みたくなることもあるので、実装の詳細を見ると、
\begin{equation}
\begin{CD}
C @= C @= C @= C \\
@V f VV \circlearrowright @VV f^\prime V \circlearrowright @VV f^{\prime\prime} V \circlearrowright @VV f^{\prime\prime} V \\
X @< a^* << X^\prime @< b^* << X^{\prime\prime} @< c^* << X^{\prime\prime\prime}
\end{CD}
\end{equation}

となっている。裏にこの形があるから、 contravariant functor が作れるのだ。

3-2. contravariant function $G$
contravariant functor $F: C/\mathbf{C} \to \mathbf{C}^\mathrm{op}/C$ も考えられるが疲れたので絵は描かない。矢印を反転させてスターを付けたり消したりすればいい。
容易に分かるが、 $G \circ F = 1_{\mathbf{C}^\mathrm{op}/C},\ F \circ G = 1_{C/\mathbf{C}}$ となるので、両者は antiisomorphic な関係にあることが分かる。

4. $(C/\mathbf{C})^\mathrm{op}$ を見る。
先ほどの図の arrow を反転させれば良い。
\begin{equation}
\begin{CD}
C @= C @= C @= C \\
@V f VV @VV f^\prime V @VV f^{\prime\prime} V @VV f^{\prime\prime} V \\
X @> a >> X^\prime @> b >> X^{\prime\prime} @> c >> X^{\prime\prime\prime}
\end{CD}
\end{equation}

が、 $(C/\mathbf{C})^\mathrm{op}$ の姿だ。
ということは、covariant functor $\widetilde{F}: \mathbf{C}^\mathrm{op}/C \to (C/\mathbf{C})^\mathrm{op}$ として、

  • objects: $\mathbf{C}^\mathrm{op}/C \ni f^* \to f \in (C/\mathbf{C})^\mathrm{op}$
  • arrows: $\mathbf{C}^\mathrm{op}/C \ni [\mathbf{a}: f^* \to (f^\prime)^*] \to [\mathbf{\bar{a}}: f \to f^\prime] \in (C/\mathbf{C})^\mathrm{op}$

を考えることで、isomorphism が得られることが分かる。ここで、 $\mathbf{a} = (a,1_C)$ に対して $\mathbf{\bar{a}} = (1_C,a)$ である。

5. 結局のところ
$\mathbf{C}^\mathrm{op}/C \cong (C/\mathbf{C})^\mathrm{op}$ が得られた。従って、 slice category $\mathbf{C}/C$ から coslice category を双対的に構築するならば?と問われるならば、 $(\mathbf{C}^\mathrm{op}/C)^\mathrm{op}$ をとれば良い、となる。