本記事では圏論に関する最低限知っておいた方がよい用語について解説します。
注意
筆者は圏論や集合論の専門ではありません。そのため本記事で紹介する内容には厳密ではない部分が多分に含まれます。ご了承ください。
クラス
まずはクラスの概念について(厳密さには欠けますが)紹介します。
クラスとは “集合の集まり” の一種です。
「なんだそんなことか」となるかもしれません。ただしここで注意しておきたいのが、”集合の集まり” という文脈において、クラスは集合よりも広い概念だということです。
つまり、クラスではあるが集合ではないような “集合の集まり” が存在します。典型的な例が集合全体です。
“すべての集合の集まり” は集合ではないことが知られていますが、これはクラスではあります。(このようなものを真のクラスとか呼びます)
他にもラッセルのパラドックスで有名な、”自分自身に含まれない集合全体” も集合ではありませんがクラスではあります。
また、大抵の場合は共通の構造の入った集合の集まりについて考えます。例えば “すべての群の集まり” や “すべての位相空間の集まり” などです。
このようにクラスの概念を導入することによって、集合よりも大きな “集合の集まり” について考えることができるようになります。ですが厳密にクラスを定義するためにはよく知られたZF集合論だけでは不十分で、もう少し集合論に関する議論が必要になります。
当サイトではクラスに関しては本記事の内容以上のことには立ち入りませんが、当サイトの記事の内容を理解する上ではそれで充分(なはず)です。
圏
まずは圏の定義です。
圏 \(\mathcal{C}\) とは、以下の組のことである。
\((1)\) クラス \(\mathrm{Ob}\,\mathcal{C}\)
\((2)\) 任意の \(A,B\in \mathrm{Ob}\,\mathcal{C}\) に対し定まる集合 \(\mathrm{Hom}(A,B)\)
\((3)\) 任意の \(A,B,C\in\mathrm{Ob}\,\mathcal{C}\) に対し定まる写像\[\mathrm{Hom}(B,C)\times\mathrm{Hom}(A,B)\to\mathrm{Hom}(A,C)\;;\;(f,g)\mapsto \color{red}f\circ g\]で以下を満たすもの。
\((3\text{-}1)\) 任意の \( A,B,C,D\in\mathrm{Ob}\,\mathcal{C}\), \(f\in\mathrm{Hom}(C,D)\), \(g\in\mathrm{Hom}(B,C)\), \(h\in\mathrm{Hom}(A,B)\) に対し\[(f\circ g)\circ h = f\circ (g\circ h)\]が成立する。
\((3\text{-}2)\) 任意の \(A\in\mathrm{Ob}\,\mathcal{C}\) に対し、ある \(\color{red}\mathrm{id}_A\color{black}\in\mathrm{Hom}(A,A)\) が存在し, 任意の \(f\in\mathrm{Hom}(A,B)\) に対し、\[f\circ\mathrm{id}_B = f,\;\mathrm{id}_A\circ f = f\]を満たす。
\(\mathrm{Ob}\,\mathcal{C}\) の元を圏 \(\mathcal{C}\) の対象、\(\mathrm{Hom}(A,B)\) の元を射と呼びます。また\((3)\)の写像を射の合成、\((3\text{-}1)\) を結合法則、\(\mathrm{id}_A\) を恒等射と呼びます。
※ \(\mathrm{Hom}(A, B)\) すらもクラスとする定義もありますが、本サイトでは射の集まりが集合をなす圏しか扱わないため、上記のような定義としています。
射の集合は、\(\mathrm{Hom}_\mathcal{C}(A,B)\) のように圏の名前を明記することもあります。
なんだか分かったような分からないような定義ですね。少し例を見てみましょう.
例1(群の圏)
群の圏 \(\mathbf{Grp}\) について考えてみましょう。まず対象は群です:\[\color{red}
\mathrm{Ob}\,\mathbf{Grp} =\{G\mid G:\text{群}\}\]
次に射は群準同型です。すなわち \(G, H\in \mathrm{Ob}\,\mathbf{Grp}\) に対し\[\color{red}
\mathrm{Hom}(G,H)=\{f:G\to H\mid f:\text{群準同型}\}\]
射の合成は普通の写像の合成、恒等射は単に恒等写像です。
少しイメージが湧いたでしょうか?圏とは、広大な数学の世界から
興味のある登場人物(対象) と それらの関係を記述するもの(射)
を切り出すことで得られる小さな世界みたいなものです。
例2(部分集合の圏)
もう一つ毛色の違う例を見てみましょう。
集合 \(X\) に対し、\(X\) の部分集合のなす圏 \(\mathbf{Set}_X\) を考えます。対象を \(X\) の部分集合全体\[
\mathrm{Ob}\,\mathbf{Set}_X = \mathfrak{P}(X):=\{U\mid U\subset X\}\]
とし、さらに射を次のように定めます。
\(U,V\subset X\) に対し、\[
\mathrm{Hom}(U,V) := \begin{cases}
\,\emptyset & (U\not\subset V) \\
\{i_{VU}\} & (U\subset V)
\end{cases}\]
ここで \(i_{VU}:U\hookrightarrow V\) は包含写像です。こちらも射の合成は普通の写像の合成、恒等射は \(i_{UU}\) すなわち恒等写像に他なりません。
ちなみに添え字の順番と写像の向きが逆なのは、合成が\[
i_{WV}\circ i_{VU} = i_{WU}\]のように綺麗に書けるからです。
このように様々なものが圏論の枠組みで扱えるというのも、圏論の強みです。
ところで先ほど圏とは小さな世界のようなものだと表現しましたが、ではそれら世界同士の関わりについて考えたい場合はどうしたらよいのでしょう?そんな時に必要になるのが、関手です。
関手
関手には大きく2種類あり、それぞれの定義は以下の通りです。
圏 \(\mathcal{C}\) から圏 \(\mathcal{D}\) への共変関手 \(F:\mathcal{C}\to\mathcal{D}\) とは、以下の対応の組のことである。
\((1)\) \(\mathrm{Ob}\,\mathcal{C}\) から \(\mathrm{Ob}\,\mathcal{D}\) への対応\[
\mathrm{Ob}\,\mathcal{C} \to \mathrm{Ob}\,\mathcal{D}\;;\;A\mapsto F(A)\]
\((2)\) 各 \(A,B\in \mathrm{Ob}\,\mathcal{C}\) に対し定まる写像\[
\mathrm{Hom}(A,B)\to \mathrm{Hom}(F(A),F(B))\;;\;f\mapsto F(f)\]で、以下を満たすもの
\((2\text{-}1)\) 任意の \(A\in\mathrm{Ob}\,\mathcal{C}\)に対し\[
F(\mathrm{id}_A) = \mathrm{id}_{F(A)}\]が成立する。
\((2\text{-}2)\) 任意の \(A,B,C\in\mathrm{Ob}\,\mathcal{C},f\in\mathrm{Hom}(B,C),g\in\mathrm{Hom}(A,B)\)に対し\[
F(f\circ g) = F(f)\circ F(g)\]が成立する。
また、上記 \((2),(2\text{-}2)\) の代わりに以下が成立する対応 \(F\) を反変関手と呼ぶ。
\((2{}’)\) 各 \(A,B\in \mathrm{Ob}\,\mathcal{C}\) に対し定まる写像\[\mathrm{Hom}(A,B)\to \mathrm{Hom}(F(B),F(A))\;;\;f\mapsto F(f)\]で、以下を満たすもの
\((2’\text{-}2)\) 任意の \(A,B,C\in\mathrm{Ob}\,\mathcal{C},f\in\mathrm{Hom}(B,C),g\in\mathrm{Hom}(A,B)\)に対し\[
F(f\circ g) = F(g)\circ F(f)\]が成立する。
共変関手のイメージとしては下図のような感じになるでしょうか。

これの、対応する射の向きが逆になるバージョンが反変関手ですね。

一つ例を見てみましょう。
例(双対ベクトル空間)
\(K\) を体とし、\(K\)-ベクトル空間の圏 \(\mathbf{Vect}_K\) を以下のように定めます。
\begin{align*}
\mathrm{Ob}\,\mathbf{Vect}_K &:= \color{red}\{V\mid V:K\text{-ベクトル空間}\} \\[5pt]
\mathrm{Hom}(V,W) &:= \color{red}\{f:V\to W\mid f:K\text{-線型写像 }\}\end{align*}
このとき、双対を取る操作により反変関手 \(\mathbf{Vect}_K\to\mathbf{Vect}_K\) が定められます。\begin{align*}
\mathrm{Ob}\,\mathbf{Vect}_K\to\mathrm{Ob}\,\mathbf{Vect}_K&\;;\;V\mapsto \color{red}V^*\\[5pt]
\mathrm{Hom}(V,W)\to\mathrm{Hom}(W^*,V^*)&\;;\;f\mapsto \color{red}f^*\end{align*}
例えば合成に関しては、任意の \(f\in\mathrm{Hom}(V,W),g\in\mathrm{Hom}(U,V), \varphi\in W^*\) に対し\begin{align*}(f\circ g)^*(\varphi) &= \varphi\circ(f\circ g)\\
&= (\varphi\circ f)\circ g\\
&= f^*(\varphi)\circ g\\
&= g^*(f^*(\varphi))\\
&= (g^*\circ f^*)(\varphi)\end{align*}より、\((f\circ g)^*=g^*\circ f^*\) となり、定義が確かめられます。
まとめ
本記事では、圏に関する基本的な用語について紹介しました。
圏論の一般論は抽象的な上にぱっと見の情報量が多く、最初はとっつきにくいかもしれません。しかし、慣れるとさまざまな構造を統一的な視点で扱うことができ便利ですし、ひいては各分野の深い理解に繋がるので少しずつでも触れていきましょう!
(数学科の人間はどの道いずれ必要になるので、気が向いたタイミングで勉強してみるのが吉)
コメント