エレファント・ビジュアライザー調査記録

ビジュアルプログラミングで数式の変形を表すことを考えていくブロクです。

代数的構造による圏論(5)

自然変換については良い書き方が見つからないので、ほぼ「圏論の道案内 ~矢印でえがく数学の世界~」に従って書いていきます。

第4章 自然変換

④自然変換の例2:hom 関手間の自然変換

まず「第3章 関手 ②関手の例1:順序を保つ写像,反変関手・双対圏」から定義を追加しておきます。

双対圏

 \mathcal{C} の対象と射を対象と射をとする圏で、射  f に対して、 \mathcal{C} での  f の域を余域、 \mathcal{C} での  f の余域を域とするものは圏となります。この圏を  \mathcal{C} の双対圏と呼び  \mathcal{C}^\mathrm{op} と書きます。

反変関手

 \mathcal{C}^\mathrm{op} からの関手を  \mathcal{C} からの反変関手と呼びます。通常の関手を共変関手とも呼びます。

共変関手・反変関手の定義

 \mathcal{C} から圏  \mathcal{D} への対応  F が、以下の条件(F1)、(F2)、(F3)、(F4)、(F5)を満たすとき  \mathcal{C} から  \mathcal{D} への関手(共変関手)と呼びます( F: \mathcal{C} \to \mathcal{D} と書きます)。以下の条件(F1)、(F2)、(F3')、(F4')、(F5)を満たすとき  \mathcal{C} から  \mathcal{D} への反変関手と呼びます

  • (F1)  \mathcal{C} の各対象  X \mathcal{D} の対象  F(X) に対応させる。
  • (F2)  \mathcal{C} の射  f \mathcal{D} の射  F(f) に対応させる。
  • (F3)  f: X \to Y \ (\in \mathcal{C}) ならば  F(f): F(X) \to F(Y) \ (\in \mathcal{D}) が成り立つ。
  • (F3')  f: X \to Y \ (\in \mathcal{C}) ならば  F(f): F(Y) \to F(X) \ (\in \mathcal{D}) が成り立つ。
  • (F4)  f: X \to Y \ (\in \mathcal{C}) g: Y \to Z \ (\in \mathcal{C}) ならば  F(g \circ f) = F(g) \circ F(f) が成り立つ。
  • (F4')  f: X \to Y \ (\in \mathcal{C}) g: Y \to Z \ (\in \mathcal{C}) ならば  F(g \circ f) = F(f) \circ F(g) が成り立つ。
  • (F5)  \mathcal{C} の各対象  X に対して  F(1_X) = 1_{F(X)} が成り立つ。

続いて「第3章 関手 ③関手の例2:hom 関手」あたりの引用から始めます。

 \mathcal{C} の対象  X から  Y への射の集まりを  \mathrm{Hom}_\mathcal{C}(X, Y) と書くことにします。すべての対象  X Y に対して  \mathrm{Hom}_\mathcal{C}(X, Y) が集合であるような圏を局所的に小さな圏と呼びます。

共変 hom 関手

局所的に小さな圏  \mathcal{C} において対象  A を固定すると、 \mathcal{C} の対象  X をとるごとに射の集合  \mathrm{Hom}_\mathcal{C}(A, X) が定まります。射  f: X \to Y について、 \alpha \in \mathrm{Hom}_\mathcal{C}(A, X) との合成  f \circ \alpha を考えると、これは  A から  Y への射だから「 f と合成する」ことは集合  \mathrm{Hom}_\mathcal{C}(A, X) から \mathrm{Hom}_\mathcal{C}(A, Y) への写像となります。

 \mathcal{C} から  \mathbf{Set} への関手(共変関手)  h_A を、

  • 対象  X に対しては  h_A(X) = \mathrm{Hom}_\mathcal{C}(A, X) を対応させ、
  •  f: X \to Y に対しては  a \in \mathrm{Hom}_\mathcal{C}(A, X) について  h_A(f)(a) = f \circ a であるような集合間の写像  h_A(f): \mathrm{Hom}_\mathcal{C}(A, X) \to \mathrm{Hom}_\mathcal{C}(A, Y) を対応させるもの

と定義することができます。

[証明]【(F3)  f: X \to Y \ (\in \mathcal{C}) のとき、 h_A(f): h_A(X) \to h_A(Y) \ (\in \mathbf{Set}) となります。

(F4)  f: X \to Y \ (\in \mathcal{C}) g: Y \to Z \ (\in \mathcal{C}) a \in h_A(X) とすると、
 h_A(g \circ f)(a) = (g \circ f) \circ a
 (h_A(g) \circ h_A(f))(a) = h_A(g) ( h_A(f)(a) ) = h_A(g) (f \circ a) = g \circ (f \circ a)
であることから  \mathbf{Set} の結合律(写像の合成の結合律)  (f \circ g) \circ a = f \circ (g \circ a) より  h_A(g \circ f) = h_A(g) \circ h_A(f) となります。

(F5)  \mathcal{C} の対象  X \xi \in h_A(X) に対して、 h_A(1_X)(\xi) = 1_X \circ \xi = \xi となるので  h_A(1_X) h_A(X) の恒等写像となります。

よって  h_A \mathcal{C} から  \mathbf{Set} への関手(共変関手) となります。】

反変 hom 関手

 \mathcal{C} の対象  B を固定して、 \mathcal{C} から  \mathbf{Set} への 反変関手  ^Bh を、

  • 対象  X に対しては  ^Bh(X) = \mathrm{Hom}_\mathcal{C}(X, B) を対応させ、
  •  f: X \to Y に対しては  \beta \in \mathrm{Hom}_\mathcal{C}(Y, B) について  ^Bh(f)(\beta) = \beta \circ f であるような集合間の写像  ^Bh(f): \mathrm{Hom}_\mathcal{C}(Y, B) \to \mathrm{Hom}_\mathcal{C}(X, B) を対応させるもの

と定義することができます。

[証明]【(F3')  f: X \to Y \ (\in \mathcal{C}) のとき、 ^Bh(f): {}^Bh(Y) \to {}^Bh(X)\ ( \in \mathbf{Set}) となります。

(F4')  f: X \to Y \ (\in \mathcal{C}) g: Y \to Z \ (\in \mathcal{C}) a \in {}^Bh(Z) とすると、
 ^Bh(g \circ f)(a) = a \circ (g \circ f)
 (^Bh(f) \circ {}^Bh(g))(a) = {}^Bh(f) ( ^Bh(g)(a) ) = {}^Bh(f) (a \circ g) = (a \circ g) \circ f
であることから  \mathbf{Set} の結合律(写像の合成の結合律)  a \circ (g \circ f) = (a \circ g) \circ f より  ^Bh(g \circ f) = {}^Bh(f) \circ {}^Bh(g) となります。

(F5)  \mathcal{C} の対象  X \xi \in {}^Bh(X) に対して、 ^Bh(1_X)(\xi) = \xi \circ 1_X = \xi となるので  ^Bh(1_X) ^Bh(X) の恒等写像となります。

よって  ^Bh \mathcal{C} から  \mathbf{Set} への反変関手となります。】

hom 関手間の自然変換

 \mathcal{C} における  A' から  A への射  a に対し、 \mathcal{C} から  \mathbf{Set} への関手  h_A から  h_{A'} への自然変換  h_a を、

  •  \mathcal{C} の各対象  X
    •  h_A(X) = \mathrm{Hom}_\mathcal{C}(A, X) の任意の要素  g を、 h_{A'}(X) = \mathrm{Hom}_\mathcal{C}(A', X) の要素  g \circ a に写す  \mathbf{Set}の射  (h_a)_X」を対応させるもの

として定義することができます。

この図式はうまく引用できませんができるだけやってみると以下のようになります。 \require{AMScd}
\begin{CD}
\mathbf{Set} @. @. @. @. @. \mathcal{C} \\
\\
h_{A'}(Y) @< h_{A'}(f) << h_{A'}(X) @. @. \overset{h_{A'}}{\Longleftarrow} @. @. Y @<< f < X \\
@A (h_a)_Y AA @AA (h_a)_X A @. @AA h_{a} A \\
h_{A}(Y) @<< h_{A}(f) < h_{A}(X) @. @. \underset{h_{A}}{\Longleftarrow}
\end{CD}

 h_{A}(X) \ni g \stackrel{ (h_a)_X }{\mapsto} g \circ a \stackrel{ h_{A'}(f) }{\mapsto} f \circ (g \circ a) \in h_{A'}(Y)
 h_{A}(X) \ni g \stackrel{ h_{A}(f) }{\mapsto} f \circ g \stackrel{ (h_a)_Y }{\mapsto} (f \circ g) \circ a \in h_{A'}(Y)

結合律  (f \circ g) \circ a = f \circ (g \circ a) より上記の図式は可換となります。

関手圏の関手

上記の

  •  \mathcal{C} の対象  A \mathcal{C} から  \mathbf{Set} への関手  h_A
  •  \mathcal{C} A' から  A への射  a \mathcal{C} から  \mathbf{Set} への関手  h_A から  h_{A'} への自然変換  h_a (ここで  h_a \mathcal{C} の各対象  X に以下の  \mathbf{Set}の射  (h_a)_X を対応させる自然変換)
    • (*) ( \mathbf{Set}の射  (h_a)_X は、 h_A(X) = \mathrm{Hom}_\mathcal{C}(A, X) の任意の要素  g を、 h_{A'}(X) = \mathrm{Hom}_\mathcal{C}(A', X) の要素  g \circ a に対応させる)

を対応させるものを  F とすると、以下の条件(F1)、(F2)、(F3')、(F4')、(F5)を満たすので、 F \mathcal{C} から  \mathrm{Fun}(\mathcal{C}, \mathbf{Set}) への反変関手となります。

  • (F1)  \mathcal{C} の各対象  A \mathrm{Fun}(\mathcal{C}, \mathbf{Set}) の対象  F(A) = h_A に対応させる。
  • (F2)  \mathcal{C} の射  a \mathrm{Fun}(\mathcal{C}, \mathbf{Set}) の射  F(a) = h_a に対応させる。
  • (F3')  A' \xrightarrow{a} A \ (\in \mathcal{C}) ならば  h_A \xrightarrow{h_a} h_{A'} \ (\in \mathrm{Fun}(\mathcal{C}, \mathbf{Set})) が成り立つ。
  • (F4')  A'' \xrightarrow{b} A' \ (\in \mathcal{C}) A' \xrightarrow{a} A \ (\in \mathcal{C}) ならば  h_{a \circ b} = h_b \circ h_a が成り立つ。
  • (F5)  \mathcal{C} の各対象  A に対して  h_{1_A} = 1_{h_A} が成り立つ。

[証明]【(F3)
\begin{eqnarray*}
& & F(Y) \xrightarrow{F(f)} F(X) \ (\in \mathrm{Fun}(\mathcal{C}, \mathbf{Set})) \\
& \iff & F(Y) \overset{F(f)}{\Longrightarrow} F(X) \ (: \mathcal{C} \to \mathbf{Set}) \\
& \iff & F(Y)(A) \xrightarrow{F(f)_A} F(X)(A) \ (\in \mathbf{Set}) (\forall A \in \mathrm{ob}(\mathcal{C}))
\end{eqnarray*} より
\begin{eqnarray*}
& & A' \xrightarrow{a} A \ (\in \mathcal{C}) \implies h_A \xrightarrow{h_a} h_{A'} \ (\in \mathrm{Fun}(\mathcal{C}, \mathbf{Set})) \\
& \iff & A' \xrightarrow{a} A \ (\in \mathcal{C}) \implies h_A(X) \xrightarrow{(h_a)_X} h_{A'}(X) \ (\in \mathbf{Set}) (\forall X \in \mathrm{ob}(\mathcal{C}))
\end{eqnarray*} となるので(*)より成り立ちます。

(F4')  (h_a)_X は反変 hom 関手  {}^Xh を使って書くと  (h_a)_X = {}^Xh(a') と書けるので( a' \mathcal{C} の双対圏での  a に対応する射)
\begin{CD}
h_A(X) = \mathrm{Hom}(A, X) @> h_A(f) >> h_A(Y) = \mathrm{Hom}(A, Y) \\
@V (h_a)_X = {}^Xh(a') VV @VV (h_a)_Y = {}^Yh(a') V \\
h_{A'}(X) = \mathrm{Hom}(A', X) @>> h_{A'}(f) > h_{A'}(Y) = \mathrm{Hom}(A', Y)
\end{CD} となります。反変 hom 関手の議論から  \mathcal{C} の射  a: A' \to A に対して  (h_a)_X 対応させる対応は反変関手となり  (h_{a \circ b})_X = (h_{b})_X \circ (h_{a})_X が成り立ちます。よって自然変換の合成の定義より  h_{a \circ b} = h_{b} \circ h_{a} が成り立ちます。

(F5)  h_{1_A} は、 h_A から  h_{A} への自然変換  h_a \mathcal{C} の各対象  X に以下の  \mathbf{Set}の射  (h_a)_X を対応させる自然変換となります。

  •  \mathbf{Set}の射  (h_a)_X は、 h_A(X) の任意の要素  g g に対応させる写像

 1_{h_A} \mathcal{C} の各対象  X に対して  (1_{h_A})_X = 1_{h_A(X)} なので  h_{1_A} = 1_{h_A} (各成分が一致)が成り立ちます。】

よって

  •  \mathcal{C} の対象  A \mathrm{Fun}(\mathcal{C}, \mathbf{Set}) の対象  h_A を、
  •  A' から  A への射  a h_A から  h_{A'} への射  h_a

対応させる対応付け  h_{()} は、 \mathcal{C} から  \mathrm{Fun}(\mathcal{C}, \mathbf{Set}) への反変関手、つまり  \mathcal{C}^\mathrm{op} から  \mathrm{Fun}(\mathcal{C}, \mathbf{Set}) への関手となります。

 \mathcal{C} \mathcal{C}^\mathrm{op} を入れ替えると、 \mathcal{C} から  \mathrm{Fun}(\mathcal{C}^\mathrm{op}, \mathbf{Set}) への関手  ^{()}h を定義することができます。

⑤自然変換の例3:米田の補題

 F を圏  \mathcal{C} から  \mathbf{Set} への関手とします。このとき  \mathcal{C} の任意の対象  A に対して、「 h_A から  F へのすべての自然変換」と「 F(A) の要素」とは一対一に対応します。すなわち

  • (1)  h_A から  F への自然変換  t が与えられると、 a := t_A(1_A) F(A) の要素  a が定められ(この対応を  t \stackrel{ \mu}{\mapsto} a とします)
  • (2)  F(A) の要素  a が与えられると、 t_X(f) := F(f)(a)  (t_X: h_A(X) \to F(X))によって自然変換  t が定められ(この対応を  a \stackrel{ \nu_X}{\mapsto} t_X とします)
  • (3)  \mathcal{C} の任意の対象  X に対して、 t \stackrel{ \mu}{\mapsto} a \stackrel{ \nu_X}{\mapsto} t'_X ならば  t_X = t'_X
  • (4)  a \stackrel{ \nu_A}{\mapsto} t_A \stackrel{ \mu}{\mapsto} a' ならば  a = a' が成り立ちます。

[証明]【(2)  \mathcal{C} の任意の射  f: X \to Y と射  g: A \to X に対して
 (t_Y \circ h_A(f))(g) = t_Y(h_A(f)(g)) = t_Y(f \circ g) = F(f \circ g)(a) = (F(f) \circ F(g))(a)
 (F(f) \circ t_X)(g) = F(f)(t_X(g)) = F(f)(F(g)(a)) = (F(f) \circ F(g))(a)
となり、 \mathcal{C} の任意の射  f: X \to Y に対して  t_Y \circ h_A(f) = F(f) \circ t_X となります。よって  t h_A から  F への自然変換となります。

(3)  t h_A から  F への自然変換とすると  \mathcal{C} の任意の射  f: X \to Y に対して  t_Y \circ h_A(f) = F(f) \circ t_X が成り立ちます。よって  \mathcal{C} の任意の射  f: X \to Y g: A \to X に対して  (t_Y \circ h_A(f))(g) = (F(f) \circ t_X)(g) となります。
 t_Y(f \circ g) = t_Y(h_A(f)(g)) = (t_Y \circ h_A(f))(g) = (F(f) \circ t_X)(g) = F(f)(t_X(g))
から  t_Y(f \circ g) =  F(f)(t_X(g)) となります。

ここで  X = A とすると  \mathcal{C} の任意の射  f: A \to Y g: A \to A に対して  t_Y(f \circ g) =  F(f)(t_A(g)) が成り立ちます。

ここで  g = 1_A とすると  \mathcal{C} の任意の射  f: A \to X に対して  t_X(f) =  F(f)(t_A(1_A)) が成り立ちます。

よって  \mathcal{C} の任意の対象  X に対して、 t \stackrel{ \mu}{\mapsto} a \stackrel{ \nu_X}{\mapsto} t'_X ならば  t'_X(f) = F(f)(a) = F(f)(t_A(1_A)) = t_X(f) となり  t_X = t'_X が成り立ちます。

(4)  a \stackrel{ \nu_A}{\mapsto} t_A \stackrel{ \mu}{\mapsto} a' ならば  a' = t_A(1_A) = F(1_A)(a) = 1_{F(A)}(a) = a となり  a = a' が成り立ちます。】

よって  \mathrm{Hom}_{\mathrm{Fun}(\mathcal{C}, \mathbf{Set})}(h_A, h_B) \mathrm{Hom}_{\mathcal{C}^\mathrm{op}}(A, B) の間に一対一対応があることがわかります。

 \mathcal{C} \mathcal{C}^\mathrm{op} を入れ替えると、  \mathrm{Hom}_{\mathrm{Fun}(\mathcal{C}^\mathrm{op}, \mathbf{Set})}(^Ah, ^Bh) \mathrm{Hom}_{\mathcal{C}}(A, B) の間に一対一対応があることがわかります。

 \mathcal{C} \mathcal{D} を局所的に小さな圏とし、 F \mathcal{C} から  \mathcal{D} への関手とします。 F \mathcal{C} の対象  X, Y について定まる  \mathrm{Hom}_{\mathcal{C}}(X, Y) から  \mathrm{Hom}_{\mathcal{C}}(F(X), F(Y)) への写像単射であるとき忠実(full)、全射であるとき充満(faithful)、全単射であるとき充満忠実(fully faithful)であると言います。

 \mathcal{C} から  \mathrm{Fun}(\mathcal{C}^\mathrm{op}, \mathbf{Set}) への関手  ^{()}h は、「埋め込み」(あるいは「充満忠実」)となります。 ^{()}h を「米田埋め込み」と呼びます。