読者です 読者をやめる 読者になる 読者になる

Category Theory for scientists(David spivak) メモ ... 関手

前回までで圏の例を説明したので、今度は関手(functor)の説明に入る。

Definition 4.1.2.1.

$C$と$C'$を圏とする。$C$から$C'$への関手(functor)は、$F:C \to C' $と書き、次のA,B,の成分を持ち、1,2,の法則が成り立つものとする。

  • A. オブジェクトの関数 $ Ob(F): Ob(C) \to Ob(C') $ これは単純に$ F: Ob(C) \to Ob(C') $ と記述してもよい。
  • B. すべてのオブジェクトのペア$c,d \in Ob(C) $に対して、\[ \textrm{Hom}_{F}(c,d) : \textrm{Hom}_C(c,d)  \to  \textrm{Hom}_C'( F(c),F(d)). \] これは、単純に$F:\textrm{Hom}_C(c,d)  \to  \textrm{Hom}_C'(F(c),F(d))$ と書いてもよい。
  1. $F$に対して、Identitiesが保存される。つまり、どんなオブジェクトでも、$c  \in  Ob(C) $ 次が成り立つ。$ F(\textrm{id}_c) = \textrm{id}_{F(c)} $
  2. $F$に対し、合成に関して保存される。つまり、どんなオブジェクト $ b,c,d  \in  Ob(C) $と射$g:b \to  c , h: c  \to  d $でも、次が成り立つ。$ F(h \circ g) = F(h) \circ F(g) $

 

 

今まで説明した圏で、最も単純な例として、モノイドから集合への関手がある。モノイドの定義では、$ \textit{M}= (M,e,*) $と書き、$ M $ は集合になるのであった。そして、モノイド圏$\textrm{Mon}$における射は、$ f: M  \to M' $と、$ M $ の写像でかけるのであった。そこで、各モノイド$\textit{M}$から、集合 $ M $ を抽出する関数を$U$と描くことにしよう。

\[  U:\textrm{Mon}  \rightarrow  \textrm{Set}  \]

$U$は、上記の定義どおり関手となる。(このように、構造自体を忘れる関手を忘却関手と呼ぶ)

同様な忘却関手として群の圏$\textrm{Grp}$とモノイド圏の関手も定義できる。

\[  U:\textrm{Grp}  \rightarrow  \textrm{Mon}  \]

プレ順序圏$\textrm{PrO}$とグラフ圏$\textrm{Grph}$についても関手を構成することができる。すなわち、

\[  P:\textrm{PrO}  \rightarrow  \textrm{Grph}  \]

あるプレ順序圏のオブジェクトであるプレ順序構造を$\chi \in \textrm{PrO}$とすると、$ \chi $のそれぞれの要素をグラフの頂点とし、射の関係$ \le $ をグラフの矢印とみなせば、$\chi$はグラフ化することができる。これが、関手$P$の$ Ob(P): Ob(\textrm{PrO}) \to Ob(\textrm{Grph})  $ にあたる。プレ順序圏の準同型  $  f : \chi \to \eta $ についても、$ \textrm{Grph} $ と同様の構造に関する準同型が定義されているので、対応する $ \textrm{Grph} $ の準同型を見つけることができる。

ただし、これは全射ではない。グラフにおいては、圏の合成則のように $a,b,c$があるグラフ構造の頂点として、$ a \to b $かつ$b \to c $の矢印があれば、$ a \to c $という矢印が存在する、とは限らない。これらのグラフは、先の関手$P$で写像先に対応するオブジェクト(これをImageと呼ぶ$\textrm{Im}(P)$)には入らない。(プレ順序には合成則が成り立つから)

ところが、前回説明したグラフのパス ${\textrm{Path}}_G$ の定義を用いると、さきとは逆の、

\[  Im:\textrm{PrO}  \rightarrow  \textrm{Grph}  \]

という関手も定義して作り出せることがわかる。$\textrm{Path}_G$は、$v_1,v_2,\dots,v_n$と、各頂点を矢印でたどったすべての集合だった。この$v_1,v_n $について、$\textrm{Path}_G$が存在するのであれば、新たに$src(a') =v_1 , tgt(a')=v_n$なる矢印$a'$を矢印集合$A$に追加する($A'= a' \cup A$)。

こうして、$\textrm{Path}$が通っている頂点同士を新たに矢印と考えた矢印集合$A'$を用いたグラフ上では、矢印の合成則が成り立つ。合成則が成り立てば、対応するプレ順序圏を構成できるので、対応するプレ順序圏のオブジェクトを見当つけることができるというわけである。(こちらは全射のはずだ)

 

さて、今まで示したように、圏と圏は関手で関係付けることができる。これは、圏のオブジェクトと圏の射と同じ構造になっている!!!!つまり、圏自体をオブジェクト、関手を射とした(メタな)圏が構成できるということになる。これを、$\textrm{Cat} $と呼ぶ。

\[ \textrm{Hom}_{\textrm{Cat}}(C,D) = \{ F:C  \to  D | F は関手  \} \]

(※実はデータベースのスキーマはこの圏の圏と同値である、というのがCT4Sの主題である。この話はまた後で)

 

最後に、以前紹介したモノイド作用を関手で表現する方法について紹介する。

モノイドについては、モノイドをオブジェクト、モノイドの準同型を射としたモノイド圏$\textrm{Mon}$というものを紹介した。しかし、モノイド自体を圏と考えることもできる。このとき、圏のオブジェクトは1つ(これを$\bigstar$としよう)で、射は$M$の元である。

\[ \textrm{Hom}(\bigstar,\bigstar)= M \]

モノイドの単位元$e$は、この圏の$\textrm{id}$だし、合成則もそれぞれ成り立つ。あるモノイド$(M,e,*)$の圏を$\textit{M}$とおくことにする。すると、それぞれのモノイドの間の準同型はモノイド圏$\textit{M} , \textit{M'}$の関手、

\[ \textit{M} \rightarrow \textit{M'} \]

であることがわかる。

モノイド作用は、以下のように集合に対してモノイドの元で"操作"するものであった。

\[ \circlearrowleft : M \times S \to S  \]

 これは、先のあるモノイドを圏とみなした$\textit{M}$から集合圏$\textrm{Set}$への関手(a set-valued functor)とみなすことができる。

\[ F: \textit{M} \rightarrow \textrm{Set} \]

$\textit{M}$は、オブジェクトが一つ$\bigstar$であった。これは、$\textrm{Set}$上の何らかの集合$S$へと関手により割り当てられる。そして、各モノイドの元$M$は、集合$S$から集合$S$への射に割り当てられる。つまり、

\[ H_F : M \rightarrow \textrm{Hom}_{\textrm{Set}}(S,S)  \]

である。

 

このように、ある圏と圏の関手が対象の構造を表すということがありうる。もう一つ例として、有向グラフついて紹介する。次のような圏を考える。

\[ A \overset{src}{\underset{tgt}{\rightrightarrows}} V \]

これは、$A$と$V$という2つのオブジェクトを持ち、$src$と$tgt$の射を持つ圏である。これを$\textrm{GrIn}$と書く。この圏から集合への関手を考えると、

\[ G : \textrm{GrIn} \rightarrow  \textrm{Set}  \]

実は、あるグラフの構造を示していることがわかる。

$A$のオブジェクトが$\textrm{Set}$のうちのある集合に対応すると、それがグラフの矢印の集合となり、同様に$V$のオブジェクトが頂点集合へ対応する。そして、それぞれ$src$、$tgt$は、矢印集合から頂点集合への"集合としての写像"(はいくつもあるが、ここで表現しようとしているグラフの構造に対応する写像)に対して、対応すればよい。

このように$\textrm{GrIn}$から、$\textrm{Set}$への関手は、グラフの具体例(instance)を示すことができるのである。

(※CT4Sの主題であるデータベースについては、データベーススキーマの圏$\textrm{Sch}$から集合$\textrm{Set}$への関手がデータベースインスタンス を表現できることが示される。)