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

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

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

第5章まで読めばろいろできると思われるのですが、数学的帰納法について考えるには第7章まで読んだほうが良いようなのでさらに引用していきます。そこまでは少し図式を描いていきます。

第6章 冪:プログラムの本質

①冪

定義 6.1 (冪) 積を持つ圏  \mathcal{C} の対象  A, B について、コンマ圏(一般射圏)  (A \times () \to B) の終対象を  A から  B への冪(exponential)と呼びます。

積を持つ圏  \mathcal{C} の対象  A に対して  \mathcal{C} から  \mathcal{C} への関手  A \times () は、

  • 任意の対象  X に対して対象  A \times X
  • 任意の射  X \xrightarrow{f} Y に対して射  A \times X \xrightarrow{1_A \times f} A \times Y

を対応させるものです。

対象  B は圏  \mathbf{1} から  \mathcal{C} への関手  \bar{B} と同一視します。 \bar{B}

  •  \mathbf{1} のただ一つの対象  X に対して対象  B
  •  \mathbf{1} のただ一つの射  1_X に対して射  1_B

を対応させるものとなります。自然変換  \bar{B} \overset{t}{\Longrightarrow} \bar{B} の成分  t_X

  • 対象  B に対して対象  B
  •  1_B に対して射  1_B

を対応させるものとなります。

すると  (A \times () \to B) の対象は  \mathcal{C} の対象  X を用いて  A \times X \to B と書ける射となります。終対象は射  A \times P \xrightarrow{p} B で、他に射  A \times X \xrightarrow{x} B があれば、射  X \xrightarrow{\tilde{x}}P \require{AMScd} \begin{CD}
A \times X @> x >> B \\
@V 1_A \times \tilde{x} VV @| \\
A \times P @>> p > B
\end{CD} を可換にするものが一意に存在するものとなります。このとき対象  P のことも冪と呼び、 B^A と書きます。また射  p は評価射(evalution morphism)と呼び、  \mathrm{eval} と書きます。

「二つの入力を持つ関数」 X \times Y \xrightarrow{f} Z を考えると、冪の普遍性から  X \xrightarrow{\tilde{f}} Z^Y で上の図式を可換にするもの、つまり  \mathrm{eval} \circ (1_X \times \tilde{f}) = f を満たすものが一意に存在します。このようなことを繰り返して「多変数関数」をただ一つの入力をもつ「一変数関数」の連鎖に変換することをカリー化(currying)と呼びます。また、カリー化された射を元の射に戻すことアンカリー化(uncurrying)と呼びます。

②CCC

定義 6.2 (CCC) 圏が

  • 終対象
  • 任意の対象  X, Y に対しての積  X \times Y
  • 任意の対象  X, Y に対しての冪  Y^X

を持つとき、カルテジアン閉圏(cartesian closed category)、略して CCC と呼びます。

定義 (点全射) A \xrightarrow{f} X が点全射であるとは、任意の  1 \xrightarrow{x} X に対して  1 \xrightarrow{a} A x = f \circ a なるものが存在することをいいます。

定義 (広義の点全射) A \times B \xrightarrow{g}X について、そのカリー化  B \xrightarrow{\tilde{g}} X^A が広義の点全射(weakly point-surjective)であるとは、任意の  A \xrightarrow{h} X に対して  1 \xrightarrow{b} B で、すべての  1 \xrightarrow{a} A に対して  g \circ \binom{a}{b} = h \circ a であるようなものが存在することをいいます。\begin{CD}
1 @> a >> A \\
@V \binom{a}{b} VV @VV h V \\
A \times B @>> g > X
\end{CD}

定理 6.3 (Lawvere の不動点定理) \mathcal{C} は CCC であるとします。射  A \times A \xrightarrow{f} X で、そのカリー化  A \xrightarrow{\tilde{f}} X^A が広義の点全射であるようなものが存在すれば、 X から  X 自身への任意の射  g について  1 \xrightarrow{x} X g \circ x = x となるものが存在します。このような射  1 \xrightarrow{x} X g不動点(fixed point)と呼びます。

[証明] \tilde{f} が広義の点全射だから、どんな射  A \xrightarrow{h} X に対しても射  1 \xrightarrow{b} A で任意の射  1 \xrightarrow{a} A に対して  f \circ \binom{a}{b} = h \circ a となるものが存在します。\begin{CD}
1 @> a >> A \\
@V \binom{a}{b} VV @VV h V \\
A \times A @>> f > X
\end{CD}  h として特に  A \xrightarrow{\Delta_A} A \times A \xrightarrow{f} X \xrightarrow{g} X ( \Delta_A = \binom{1_A}{1_A})をとれば  f \circ \binom{a}{b} = g \circ f \circ \Delta_A \circ a = g \circ f \circ \binom{1_A}{1_A} \circ a = g \circ f \circ \binom{a}{a} となるから、 a = b とすれば  f \circ \binom{b}{b} g不動点となります。】

 X としてちょうど二つの要素からなる集合  2 を考え、その二つの要素を True および False と呼びます。 A の部分集合は  A から  2 への写像と同一視することができます。

 A から  2^A へは単射はあるが全射は存在しません。(対角線論法)

[証明] A の各要素を、その要素のみからなる部分集合に対応させる写像単射となります。全射があったとします。 \mathbf{Set} では点全射全射は同じことだから、これは上の定理における  \tilde{f} となり、言い換えればそのアンカリー化が  f となります。すると、 2 から自身への任意の写像  g不動点を持つことになります。「否定」、つまり True と False を入れ替える  2 から  2 への写像を考えると、これは不動点を持たないので矛盾となります。よって全射は存在しません。】

第7章 圏論集合論

①トポス (topos)

定義 7.1 (単射全射) \mathcal{C} の射  X \xrightarrow{f} Y単射(monomorphism)であるとは、 Z \overset{g}{\underset{h}{\rightrightarrows}} X f \circ g = f \circ h なる任意の  g, h に対して  g = h であるときにいいます。 f は左簡約可能(left cancellable)とも呼びます。双対圏  \mathcal{C}^\mathrm{op} における単射 \mathcal{C}全射(epimorphism)と呼びます。

定義 7.2 (トポス) \mathcal{C} が CCC であり、部分対象分類子を持つとき、初等トポス(elementary topos)あるいは単にトポスと呼びます。ここで部分対象分類子(subobject classifier)とは  \mathcal{C} の射  1 \xrightarrow{t} \Omegaで、任意の単射  A \xrightarrow{m} B に対して射  B \xrightarrow{\chi_m} \Omega で \begin{CD}
A @> !_A >> 1 \\
@V m VV @VV t V \\
B @>> \chi_m > \Omega
\end{CD} が引き戻しの図式となるようなものが一意に存在するものをいいます。このとき  \chi_m m の特性射(characteristic morphism)と呼びます。 t は真(True)とも呼ばれ、また True とも書かれます。そして  \Omega は真理値対象(truth value object)と呼ばれます。

定理 7.3 トポスにおいて、単射かつ全射な射は同型射となります。

[証明]【 上の図式(図式(1))に  B \xrightarrow{!_B}1 を追加して図式(2) \begin{CD}
A @> m >> B @> !_B >> 1 \\
@| @. @VV t V \\
A @>> m > B @>> \chi_m > \Omega
\end{CD} とすると図式(1)が可換であることから図式(2)も可換となります。\begin{CD}
A' @> m' >> B @> !_B >> 1 \\
@| @. @VV t V \\
A' @>> m' > B @>> \chi_m > \Omega
\end{CD} が可換とすると、図式(1)が引き戻しの図式であることから、 A' \xrightarrow{u} A が一意的に存在して  m \circ u = m' を満たします。\begin{CD}
A' @> m' >> B \\
@V u VV @| \\
A @>> m > B
\end{CD}
 1_B単射なので図式 \begin{CD}
B @> !_B >> 1 \\
@V 1_B VV @VV t V \\
B @>> \chi_{1_B} > \Omega
\end{CD} は可換となります。 \chi_{1_B} \circ m = \chi_{1_B} \circ 1_B \circ m = t \circ {!_B} \circ m = t \circ {!_A} = \chi_{m} \circ m となって、 m全射(右簡約可能)ならば  \chi_{1_B} = \chi_{m} となります。よって \begin{CD}
B @> !_B >> 1 \\
@V 1_B VV @VV t V \\
B @>> \chi_{m} > \Omega
\end{CD} は可換となります。図式(1)が引き戻しの図式であることから  B \xrightarrow{u} A m \circ u = 1_B を満たすものが一意的に存在します。

 m \circ u \circ m = 1_B \circ m =  m = m \circ 1_A となり、 m単射(左簡約可能)なので  u \circ m = 1_A となります。よって  m は同型射となります。】

圏論集合論

定義 7.4 以下の条件を満たす圏を集合圏(category of sets)と呼び、 \mathbf{Set} と書きます。

  • 1.  \mathbf{Set} はトポスである。
  • 2.  \mathbf{Set}全射は切断を持つ。
  • 3.  \mathbf{Set} は well-pointed である。
  • 4.  \mathbf{Set}自然数対象を持つ。

 X \xrightarrow{f} Y の切断(section)とは、射  Y \xrightarrow{s} X f \circ s = 1_Y を満たすもののことを言います。条件 2 は選択公理(axiom of choice)と呼びます。

定義 7.5 終対象を持つ圏  \mathcal{C} が well-pointed であるとは。 1 が始対象でなく、 \mathcal{C} の任意の相異なる射  X \overset{f}{\underset{g}{\rightrightarrows}} Y に対して射  1 \xrightarrow{x} X f \circ x \ne g \circ x なるものが存在するときにいいます。

定義 7.6 終対象  1 を持つ圏   \mathcal{C} において、自然数対象(natural number object)とは対象  N、射  N \xrightarrow{s} N および  1 \xrightarrow{z} N の組  \langle N, s, z \rangle で、他の同様な組  \langle X, f, x \rangle に対して射  N \xrightarrow{u} X
\begin{CD}
1 @> z >> N @> s >> N \\
@| @VV u V @VV u V \\
1 @>> x > X @>> f > X \\
\end{CD}
を可換にするものが一意に存在するときにいいます。

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

⑦極限,余極限の定義

続いて極限と積などの関係を見ていきます。

積・余積

 \mathcal{J} を対象が  a, b の二つで、射が恒等射だけの圏とします。 \mathcal{J} = \{a, b\} と書くことにします。

 \mathcal{J} 型の図式(圏  \mathcal{J} から圏  \mathcal{C} への関手)  D に対する極限( (\Delta \to D) の終対象)が存在するとします。 A = D(a) B = D(b) とおきます。

 D を圏  \mathbf{1} (対象を  \cdot とする)から  \mathrm{Fun}(\mathcal{J}, \mathcal{C}) への関手」と見たものを  D' とします。 (\Delta \to D) は、 \mathcal{C} の対象  X \mathbf{1} の(ただ一つの)対象  \cdot \mathrm{Fun}(\mathcal{J}, \mathcal{C}) の射  \Delta(X) \xrightarrow{p} D'(\cdot) = D からなる三つ組  \langle X, \cdot, p \rangle を対象として、 \langle X, \cdot, p \rangle から  \langle Y, \cdot, q \rangle への射としては、 \mathcal{C} の射  X \xrightarrow{u} Y \mathbf{1} の(ただ一つの)射  \cdot の組  \langle u, \cdot \rangle \require{AMScd}
\begin{CD}
\Delta(X) @> p >> D \\
@V \Delta(u) VV @| \\
\Delta(Y) @>> q > D
\end{CD}
を可換とする射からなる圏となります。各成分に対して
\begin{CD}
X @> p_j >> D(j) \\
@V u VV @| \\
Y @>> q_j > D(j)
\end{CD}
は可換となります。

自然変換  \Delta(X) \overset{p}{\Longrightarrow} D \ (: \mathcal{J} \to \mathcal{C}) は、 \mathcal{J} の対象  j に対して成分  p_j X = \Delta(X)(j) \xrightarrow{p_j} D(j) \ (\in \mathcal{C}) \mathcal{J} の射  j \xrightarrow{f} k に対して
\begin{CD}
X @> p_j >> D(j) \\
@| @VV D(f) V \\
X @>> p_k > D(k)
\end{CD}
を可換とするものとなります。これは  f が恒等射なので成り立ちます。

よって図式
\begin{CD}
A @< q_a << X @> q_b >> B \\
@| @VV u V @| \\
A @<< p_a < L @>> p_b > B
\end{CD}
が可換となるすべての射  u によって作られる射が  (\Delta \to D) の射となります。

 (\Delta \to D) の終対象  \langle L, \cdot, p \rangle は 任意の  \langle X, \cdot, q \rangle に対して  u: X \to L が存在して上記の図式が可換となるものとなります。よって  L (または  \langle L, p_a, p_b \rangle)は積  A \times B と同型となります。

余積は双対となります。

等化子(イコライザー)・余等化子

 \mathcal{J} を対象が  a, b の二つで、射が恒等射のほか、 a \xrightarrow{\alpha} b a \xrightarrow{\beta} b だけの圏とします。 \mathcal{J} = \{a, b; \ a \xrightarrow{\alpha} b, a \xrightarrow{\beta} b\} と書くことにします。

 \mathcal{J} 型の図式(圏  \mathcal{J} から圏  \mathcal{C} への関手)  D に対する極限( (\Delta \to D) の終対象)が存在するとします。 A = D(a) B = D(b) f = D(\alpha) g = D(\beta) とおきます。

自然変換  \Delta(X) \overset{p}{\Longrightarrow} D \ (: \mathcal{J} \to \mathcal{C}) は、 \mathcal{J} の対象  j に対して成分  p_j X = \Delta(X)(j) \xrightarrow{p_j} D(j) \ (\in \mathcal{C}) \mathcal{J} の射  j \xrightarrow{f} k に対して
\begin{CD}
X @> p_j >> D(j) \\
@| @VV D(f) V \\
X @>> p_k > D(k)
\end{CD}
を可換とするものとなります。これは
\begin{CD}
A @< p_a << X @> p_a >> A \\
@V f VV @| @VV g V \\
B @<< p_b < X @>> p_b > B
\end{CD}
を可換とするものとなります。よって
\begin{CD}
A @< p_a << X @> p_a >> A \\
@V f VV @VV p_b V @VV g V \\
B @= B @= B \\
\end{CD}
を可換とするものとなります。

よって上記の条件を満たす  \langle L, \cdot, p \rangle \langle X, \cdot, q \rangle に対して図式
\begin{CD}
A @< q_a << X @> q_b >> B \\
@| @VV u V @| \\
A @<< p_a < L @>> p_b > B
\end{CD}
が可換となるすべての射  u によって作られる射が  (\Delta \to D) の射となります。

 (\Delta \to D) の終対象  \langle L, \cdot, p \rangle は 任意の  \langle X, \cdot, q \rangle に対して  u: X \to L が存在して上記の図式が可換となるものとなります。

よって  L (または  \langle L, p_a, p_b \rangle)は  f g の等化子(以下の定義を参照)となります。

定義  A \xrightarrow{f} B A \xrightarrow{g} B に対して、対象  E と 射  E \xrightarrow{e} A f \circ e = g \circ e を満たすものであって、対象  X と 射  X \xrightarrow{h} A f \circ h = g \circ h を満たすならば射  X \xrightarrow{u} E が一意的に存在して  e \circ u = h を満たすとき、 E と 射  E \xrightarrow{e} A の組を  f g の等化子(イコライザー)と呼びます。

余等化子は双対となります。

引き戻し(ファイバー積)・押し出し

 \mathcal{J} を対象が  a, b, c の三つで、射が恒等射のほか、 a \xrightarrow{\alpha} c b \xrightarrow{\beta} c だけの圏とします。 \mathcal{J} = \{a, b; \ a \xrightarrow{\alpha} c, b \xrightarrow{\beta} c\} と書くことにします。

 \mathcal{J} 型の図式(圏  \mathcal{J} から圏  \mathcal{C} への関手)  D に対する極限( (\Delta \to D) の終対象)が存在するとします。 A = D(a) B = D(b) C = D(c) f = D(\alpha) g = D(\beta) とおきます。

自然変換  \Delta(X) \overset{p}{\Longrightarrow} D \ (: \mathcal{J} \to \mathcal{C}) は、 \mathcal{J} の対象  j に対して成分  p_j X = \Delta(X)(j) \xrightarrow{p_j} D(j) \ (\in \mathcal{C}) \mathcal{J} の射  j \xrightarrow{f} k に対して
\begin{CD}
X @> p_j >> D(j) \\
@| @VV D(f) V \\
X @>> p_k > D(k)
\end{CD}
を可換とするものとなります。これは
\begin{CD}
A @< p_a << X @> p_b >> B \\
@V f VV @| @VV g V \\
C @<< p_c < X @>> p_c > C
\end{CD}
を可換とするものとなります。よって
\begin{CD}
A @< p_a << X @> p_b >> B \\
@V f VV @VV p_c V @VV g V \\
C @= C @= C \\
\end{CD}
を可換とするもの、すなわち
\begin{CD}
X @> p_b >> B \\
@V p_b VV @VV g V \\
A @>> f > C \\
\end{CD}
を可換とするものとなります。

よって上記の条件を満たす  \langle L, \cdot, p \rangle \langle X, \cdot, q \rangle に対して図式
\begin{CD}
A @< q_a << X @> q_b >> B \\
@| @VV u V @| \\
A @<< p_a < L @>> p_b > B
\end{CD}
が可換となるすべての射  u によって作られる射が  (\Delta \to D) の射となります。

 (\Delta \to D) の終対象  \langle L, \cdot, p \rangle は 任意の  \langle X, \cdot, q \rangle に対して  u: X \to L が存在して上記の図式が可換となるものとなります。

よって  L (または  \langle L, p_a, p_b \rangle)は  f g の引き戻し(以下の定義を参照)となります。

定義  A \xrightarrow{f} C B \xrightarrow{g} C に対して、対象  P と 射  P \xrightarrow{p} A P \xrightarrow{q} B f \circ p = g \circ q を満たすものであって、対象  X と 射  X \xrightarrow{h} A X \xrightarrow{k} B f \circ h = g \circ k を満たすならば射  X \xrightarrow{u} P が一意的に存在して  p \circ u = h q \circ u = k を満たすとき、 P と 射  P \xrightarrow{p} A P \xrightarrow{q} B の組を  f g の引き戻し(ファイバー積)と呼びます。

押し出しは双対となります。

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

第5章 普遍性

最初の方は定義を引用するだけとします。

①終対象と始対象

定義 5.1 \mathcal{C} の対象  T が、 \mathcal{C} の任意の対象  X に対して  X から  T への射がただ一つ存在するとき、 T \mathcal{C} の終対象と呼びます。この一意的な射を  !X と書きます。 \mathcal{C} の反対圏  \mathcal{C}^\mathrm{op} の終対象を  \mathcal{C} の始対象と呼びます。

終対象(始対象)は存在するとは限らず、一意的でもありませんが、存在すれば同型となります。これを同型を除いて一意と言います。

集合圏  \mathbf{Set} では、終対象は「一点のみからなる集合」、始対象は空集合となります。

量系の圏  \mathbf{Qua} では、量  0 のみからなる量系が終対象かつ始対象となります。このような対象を零対象と呼びます。

②積と余積

定義 5.2 圏の対象  A, B に対して、対象  P、射  P \xrightarrow{p_A} A、射  P \xrightarrow{p_B} B の三つ組  \langle P, p_A, p_B \rangle A, B の積であるとは、対象  X、射  X \xrightarrow{x_A} A、射  X \xrightarrow{x_B} B の三つ組  \langle X, x_A, x_B \rangle に対して  x_A = p_A \circ x x_B = p_B \circ x を満たす射  X \xrightarrow{x} P がただ一つ存在することを言います。このとき対象  P A \times B と書き、射  x を(この本では)  \begin{pmatrix} x_A \\ x_B \end{pmatrix} と書きます。 p_A, p_B を射影と呼びます。

 \mathbf{Set} では集合の直積が積、 \mathbf{Qua} では集合の直積で定まるものとなります。

定義 5.3 圏の対象  A, B に対して、対象  S、射  S \xleftarrow{\iota_A} A、射  S \xleftarrow{\iota_B} B の三つ組  \langle S, \iota_A, \iota_B \rangle A, B の余積であるとは、対象  X、射  X \xleftarrow{x_A} A、射  X \xleftarrow{x_B} B の三つ組  \langle X, x_A, x_B \rangle に対して  x_A = x \circ \iota_A x_B = x \circ \iota_B を満たす射  X \xleftarrow{x} P がただ一つ存在することを言います。このとき対象  P A + B と書き、射  x を(この本では)  \begin{pmatrix} x_A & x_B \end{pmatrix} と書きます。 \iota_A, \iota_B を入射と呼びます。

 \mathbf{Set} では集合の「非交和」が余積、 \mathbf{Qua} では  A + B A \times B が同型となります。

③積関手

積を持つ圏  \mathcal{C} において、射  A \xrightarrow{f} A' と射  B \xrightarrow{g} B' に対して  A \times B から  A' \times B' への射で、 p_{A'} \circ (f \times g) = f \circ p_A p_{B'} \circ (f \times g) = g \circ p_B を満たすただ一つの射( f, g の積)  f \times g = \begin{pmatrix} f \circ p_A \\ g \circ p_B \end{pmatrix} が存在します。

積を持つ圏  \mathcal{C} において、任意の対象  A に対して「 A と積をとる関手」 A \times () が、任意の対象  X に対しては対象  A \times X を、任意の射  X \xrightarrow{f} Y に対しては射  A \times X \xrightarrow{1_A \times f} A \times Y を対応させるものとして定義できます。 A \times X は同型を除いて一意に定まるので一つを選ぶことで定義することができます。この関手は  \mathcal{C} から  \mathcal{C} 自身への関手( \mathcal{C} 上の自己関手)となります。

各対象  X に対して  A \times X から  X への射影  p_X を対応させる対応付けは、関手  A \times () から  \mathcal{C} 上の恒等関手への自然変換となります。

線型代数の土壌

この項は後で見ていくことにします。

⑤極限と余極限の例

この項は後で見ていくことにします。できれば図式を使わずに説明したいと思います。

⑥射圏,そして一般射圏
  •  \mathbf{1} を「対象を一つだけ持ち、射としてその対象の恒等射のみを持つ圏」
  •  \mathbf{2} を「対象を二つ持ち、射としてその対象の恒等射の他に一方の対象から他方の対象への射(射を  0 \to 1 とします)を一つだけ持つ圏」

とします。

  • 圏の対象  X に対して、圏  \mathbf{1} からの関手で圏  \mathbf{1} の対象を  X
  • 圏の射  f に対して、圏  \mathbf{2} からの関手で圏  \mathbf{2} の恒等射ではない射を  f

対応させるものが存在します。

「射を対象とする圏」は「圏  \mathbf{2} から  \mathcal{C} への関手を対象とする圏」、すなわち  \mathrm{Fun}(\mathbf{2}, \mathcal{C}) とみなすことができます。圏  \mathbf{2} から  \mathcal{C} への関手  F, G に対して 射  0 \to 1 F によって  X \xrightarrow{f} Y G によって  X' \xrightarrow{f'} Y' に写されるとします。自然変換  F \overset{t}{\Longrightarrow} G \require{AMScd}
\begin{CD}
X @> f >> Y \\
@V t_0 VV @VV t_1 V \\
X' @>> f' > Y'
\end{CD}
が可換となるので  \mathrm{Fun}(\mathbf{2}, \mathcal{C}) の射は「図式を可換にするような射の組  \langle t_0, t_1 \rangle」と考えられます。このような圏を射圏と呼びます。

この射圏の概念を一般化したものがコンマ圏(「圏論の道案内 ~矢印でえがく数学の世界~」では「一般射圏」)となります。

定義 5.7  \mathcal{A} \mathcal{B} \mathcal{C} を圏、 \mathcal{A} \xrightarrow{F} \mathcal{C} \xleftarrow{G} \mathcal{B} を関手とします。 \mathcal{A} の対象  X \mathcal{B} の対象  Y \mathcal{C} の射  F(X) \xrightarrow{f} G(Y) を、三つ組  \langle X, Y, f \rangle で表します。これらを対象として、 \langle X, Y, f \rangle から  \langle X', Y', f' \rangle への射としては、 \mathcal{A} の射  X \xrightarrow{\alpha} X' \mathcal{B} の射  Y \xrightarrow{\beta} Y' の組  \langle \alpha, \beta \rangle
\begin{CD}
F(X) @> f >> G(Y) \\
@V F(\alpha) VV @VV G(\beta) V \\
F(X') @>> f' > G(Y')
\end{CD}
を可換にするものを考えます。この圏をコンマ圏(「圏論の道案内 ~矢印でえがく数学の世界~」では「一般射圏」)と呼び、 (F \downarrow G)(Wikipediaによる。「圏論の道案内 ~矢印でえがく数学の世界~」では「 (F \to G)」)と表します。

⑦極限,余極限の定義

定義 5.8 \mathcal{J} から圏  \mathcal{C} への関手のことを  \mathcal{J} 型の図式と呼びます。

 \mathcal{C} の任意の対象  X に対して、圏  \mathcal{J} の任意の対象を  X に、任意の射を  X の恒等射  1_X に対応させる関手が存在します。この関手を  X への定関手と呼びます。定関手は  \mathrm{Fun}(\mathcal{J}, \mathcal{C}) の対象となります。

対角関手  \Delta とは、 \mathcal{C} から  \mathrm{Fun}(\mathcal{J}, \mathcal{C}) への関手で、 \mathcal{C} の対象  X に対して  X への定関手を対応させるものです。 \mathcal{C} の射  X \xrightarrow{f} Y は定関手  \Delta(X) から定関手  \Delta(Y) への自然変換  \Delta(f) に写されます。 \Delta(f) のすべての成分が  f であるとします。 \mathcal{J} の任意の射  A \xrightarrow{a} B は定関手で恒等射に写されるので
\begin{CD}
X @> 1_X >> X \\
@V \Delta(f)_A VV @VV \Delta(f)_B V \\
Y @>> 1_Y > Y
\end{CD}
が可換である必要があります。これは  \Delta(f) のすべての成分が  f であれば成り立ちます。

(1)  \mathcal{J} 型の図式  D \mathrm{Fun}(\mathcal{J}, \mathcal{C}) の対象だから、圏  \mathbf{1} から  \mathrm{Fun}(\mathcal{J}, \mathcal{C}) への関手と同一視すれば、一般射圏  (\Delta \to D) を考えることができます。

 (\Delta \to D) の終対象を極限と呼びます。双対的に  (D \to \Delta) の始対象を余極限と呼びます。圏  \mathcal{J} が有限個の対象、射から構成されているとき、特に有限極限、有限余極限と呼びます。

(2)「圏論入門 - Haskellで計算する具体例から」の定義では、 \mathcal{J} 型の図式  D に対して、 \mathcal{C} の対象  A (錐の頂点と呼びます)、 \mathcal{J} のすべての対象  j に対して射(射影と呼びます)  p_j: A \to D(j) で、任意の  \mathcal{J} の射  f: j \to k に対して  D(f) \circ p_j = p_k (以下の図式が可換。「錐の条件」)であるものを、 A から  D への錐と呼び、 (A, \{p_j\}) と書きます。
\begin{CD}
A @> p_j >> D(j) \\
@| @VV D(f) V \\
A @>> p_k > D(k)
\end{CD}

 (\mathcal{C}, D) を、圏  \mathcal{C} の任意の対象  A から  D への錐を対象とし、錐  (A, \{p_j\}) から錐  (A', \{q_j\}) への射は  \mathcal{A} の射  u: A \to A' で、任意の  \mathcal{J} の対象  j に対して  q_j \circ u = p_j (以下の図式が可換。「射の条件」)であるものを射とする圏とします。(「圏  \mathcal{C} の射の合成」を射の合成をとして圏  (\mathcal{C}, D) が圏となることが図式からわかります。)
\begin{CD}
A @> p_j >> D(j) \\
@V u VV @| \\
A' @>> q_j > D(j)
\end{CD}

 (\mathcal{C}, D) に終対象があるとき、その終対象、あるいはその終対象の頂点を  \mathcal{J} 型の図式  D の極限と呼びます。

 D を圏  \mathbf{1} (対象を  X とする)から  \mathrm{Fun}(\mathcal{J}, \mathcal{C}) への関手と同一視」したものを  D' とします。(1) の  (\Delta \to D) は、 \mathcal{C} の対象  A \mathbf{1} の(ただ一つの)対象  X \mathrm{Fun}(\mathcal{J}, \mathcal{C}) の射  \Delta(A) \xrightarrow{p} D'(X) = D からなる三つ組  \langle A, X, p \rangle を対象として、 \langle A, X, p \rangle から  \langle A', X, p' \rangle への射としては、 \mathcal{C} の射  A \xrightarrow{u} A' \mathbf{1} の(ただ一つの)射  1_X の組  \langle u, 1_X \rangle
\begin{CD}
\Delta(A) @> p >> D = D'(X)\\
@V \Delta(u) VV @| \\
\Delta(A') @>> p' > D = D'(X)
\end{CD}
を可換とする射(「 (\Delta \to D) の射の条件」)からなる圏となります。

 p, p' は自然変換  \Delta(A) \overset{p}{\Longrightarrow} D \ (: \mathcal{J} \to \mathcal{C}) であるから、 \mathcal{J} の対象  j に対して成分  p_j A = \Delta(A)(j) \xrightarrow{p_j} D(j) \ (\in \mathcal{C}) \mathcal{J} の射  j \xrightarrow{f} k に対して
\begin{CD}
A @> p_j >> D(j) \\
@| @VV D(f) V \\
A @>> p_k > D(k)
\end{CD}
を可換とするものとなります。これは (2) の「錐の条件」と同じものとなります。

 (\Delta \to D) の射の条件」から
\begin{CD}
A @> p_j >> D(j) \\
@V u VV @| \\
A' @>> p'_j > D(j)
\end{CD}
は可換となります。これは (2) の「射の条件」と同じものとなります。

よって (2) の  (\mathcal{C}, D) は圏となり、 (\Delta \to D) に終対象が存在することと  (\mathcal{C}, D) に終対象が存在することは同値となります。 (\Delta \to D) の終対象の  A (\mathcal{C}, D) の終対象の頂点となります。

(3) (Wikipediaでは) 対象  L から  D への錐  (L, \{p_j\}) であって、任意の錐  (N, \{q_j\}) に対して射  u: N \to L が一意的に存在して  \mathcal{J} の任意の対象  j に対して  p_j \circ u = q_j を満たすとき、錐  (L, \{p_j\}) または対象  L \mathcal{J} 型の図式  D の極限と呼びます。

このとき、錐  (L, \{p_j\}) は (2) の定義の圏  (\mathcal{C}, L) の終対象、対象  L はその頂点となります。

代数的構造による圏論(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 を「米田埋め込み」と呼びます。

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

このブログでは、通常の論理プログラミングでは無限に動くプログラムを書くことができないので「極限」の考え方でなんとかできないか、ということでやっています。ある種の射影的極限、帰納的極限は外積の定義を書いたところで書いたように、構成的に定義することができるようなので、このやり方で書いてみるとプログラミング言語で書くことができるのではないかと考えています。

この本では、極限の説明の前に「コンマ圏」があるので、「コンマ圏」についても「構成的な書き方」ができるか考えてみたいと思います。この本では、さらにその前に自然変換の説明があり、自然変換をメインに説明されているようです。自然変換については、そのように書き方を変えることができるかどうかわかりませんが、できるならやってみます。その前に、自然変換の定義が間違っていたようなので、圏の定義から書き直しておきます。

圏の定義

 \mathcal{C} というものは、以下の(集合とは限らない)類

  • 対象の類  \mathrm{ob}(\mathcal{C})
  • 対象の間の射の類  \mathrm{hom}(\mathcal{C})

で構成されて以下の条件が成り立つとき、 \mathcal{C} を圏と呼びます。

  •  f \in \mathrm{hom}(\mathcal{C}) には域と呼ばれる対象  A \in \mathrm{ob}(\mathcal{C}) および余域と呼ばれる対象  B \in \mathrm{ob}(\mathcal{C}) がただ一つ存在します。このとき「 f A から  B への射である」と言い、 f: A \to B (または  f: A \to B \ (\in \mathcal{C}))と書き、 A \mathrm{dom}(f) B \mathrm{cod}(f) と書きます。
  •  f: A \to B g: B \to C であるとき、射の合成と呼ばれる  g \circ f: A \to C が一意的に存在し、以下の結合律、単位律が成り立ちます。
    • 結合律:  f: A \to B g: B \to C h: C \to D ならば  h \circ (g \circ f) = (h \circ g) \circ f が成り立ちます。
    • 単位律: 任意の  A ∈ \mathrm{ob}(\mathcal{C}) に対して  A の恒等射と呼ばれる射  1_A: A \to A が存在して、任意の射  f: A \to X および  g: X \to A に対して  1_A \circ f = f g \circ 1_A = g が成り立ちます。

関手の定義

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

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

自然変換の定義

 \require{AMScd}  F G を圏  \mathcal{C} から  \mathcal{D} への関手とします。以下の条件が成り立つものを  F から  G への 自然変換  t と呼び、 F \overset{t}{\Longrightarrow} G (または  F \overset{t}{\Longrightarrow} G \ (: \mathcal{C} \to \mathcal{D}))と書きます。

  •  \mathcal{C} の各対象  X \mathcal{D} の射  t_X: F(X) → G(X) を対応させる。 t_X t X 成分と呼ぶ。
  •  f: X → Y \ (\in \mathcal{C}) に対して  G(f) \circ t_{X} = t_{Y} \circ F(f) が成り立つ。(以下の図式は可換)

\begin{CD}
F(X) @> t_{X} >> G(X) \\
@V F(f) VV @VV G(f) V \\
F(Y) @>> t_{Y} > G(Y)
\end{CD}

関手圏

 F G H を圏  \mathcal{C} から圏  \mathcal{D} への関手、 F \overset{t}{\Longrightarrow} G G \overset{u}{\Longrightarrow} H を自然変換とするとき、これらの合成(垂直合成)を  (ut)_X := u_X \circ t_X ( X \mathcal{C} の対象)と定義すると、自然変換  F \overset{ut}{\Longrightarrow} H となります。すなわち

  •  ut \mathcal{C} の対象  X (ut)_X: F(X) \to H(X) を対応させ
  •  f: X → Y \ (\in \mathcal{C}) ならば  H(f) \circ (ut)_{X} = H(f) \circ u_{X} \circ t_{X} = u_{Y} \circ G(f) \circ t_{X} \\ = u_{Y} \circ t_{Y} \circ F(f) = (ut)_{Y} \circ F(f)

が成り立ちます。(以下の図式は可換)
\begin{CD}
F(X) @> t_{X} >> G(X) @> u_{X} >> H(X) \\
@V F(f) VV @VV G(f) V @VV H(f) V \\
F(Y) @>> t_{Y} > G(Y) @>> u_{Y} > H(Y)
\end{CD}
この合成(垂直合成)は結合律、単位律を満たします。

  • (結合律)  F G H I を圏  \mathcal{C} から圏  \mathcal{D} への関手、 F \overset{t}{\Longrightarrow} G G \overset{u}{\Longrightarrow} H H \overset{v}{\Longrightarrow} I を自然変換とすると、 \mathcal{D} の射の結合律より  X \mathcal{C} の対象のとき  ( (vu)t)_X = (vu)_X \circ t_X = (v_X \circ u_X) \circ t_X \\ = v_X \circ (u_X \circ t_X) = v_X \circ (ut)_X = (v(ut))_X
  • (単位律)  F G H を圏  \mathcal{C} から圏  \mathcal{D} への関手、 F \overset{t}{\Longrightarrow} G G \overset{v}{\Longrightarrow} H を自然変換とします。 \mathcal{C} の対象  X に対して  u_X = 1_{G(X)} とすると以下の(1)より  u は自然変換  G \overset{u}{\Longrightarrow} G となり、(2-1)、(2-2)より  u はこの合成(垂直合成)の単位元となります。
    • (1)  f: X → Y \ (\in \mathcal{C}) ならば  G(f) \circ t_{X} = t_{X} \circ G(f)
    • (2-1) 任意の  \mathcal{C} の対象  X に対して  (ut)_X = u_X \circ t_X = 1_{G(X)} \circ t_X = t_X となることから  ut = t (任意の成分が一致)
    • (2-2) 任意の  \mathcal{C} の対象  X に対して  (vu)_X = v_X \circ u_X = v_X \circ 1_{G(X)} = v_X となることから  vu = v (任意の成分が一致)

 \mathcal{C} から圏  \mathcal{D} への関手を対象とし、それらの間の自然変換を射とする圏を、圏  \mathcal{C} から圏  \mathcal{D} への関手圏と呼び、 \mathrm{Fun}(\mathcal{C}, \mathcal{D}) と書きます。

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

「第4章 自然変換」を見ていきます。コンマ圏のところまでは、どうやれば良いのかわからないのでそのままの書き方で書いていくことにします。

第4章 自然変換

①自然変換の定義1

 F G を圏  \mathcal{C} から  \mathcal{D} への関手とします。
このとき、 F から  G への 自然変換  t

  •  \mathcal{C} の各対象  X \mathcal{D} の射  t_X: F(X) → G(X) を対応させる。
  •  \mathcal{C} の任意の射  f: X → Y に対して  G(f) \circ t_{X} = t_{Y} \circ F(f) が成り立つ。

というものを言います。このとき  F \overset{t}{\Longrightarrow} G と書きます。 t_X t X 成分と呼びます。

図式は同じようには描けないのですが描いておきます。
 \require{AMScd}
\begin{CD}
@. Y @< f << X \\
@. @. @. \\
G @. G(Y) @< G(f) << G(X) \\
@A t AA @A t_Y AA @AA t_X A \\
F @. F(Y) @<< F(f) < F(X) 
\end{CD}

 t': F \to G および  t: G \to H を関手  F,G,H: \mathcal{C} \to \mathcal{D} の間の自然変換とするとき、これらの合成を  (tt')_X := t_X \circ t'_X と定義すると、自然変換  tt': F \to H となります。この合成は結合律、単位律を満たします。

 \mathcal{C} から圏  \mathcal{D} への関手を対象とし、それらの間の自然変換を射とする圏を、圏  \mathcal{C} から圏  \mathcal{D} への関手圏と呼び、 \mathrm{Fun}(\mathcal{C}, \mathcal{D}) と書きます。

関手圏の射として同型射であるような自然変換を自然同値と呼びます。また、関手圏の対象として同型であるような関手を自然同値であると言います。

例:有向グラフは、圏 DiGraph
 E \overset{o}{\underset{d}{\rightrightarrows}} V
から  \mathbf{Set} への関手とみなすことができます。(第3章①)

関手としての有向グラフ  F, G について、「 F から  G への自然変換」はグラフの構造を保つようなものとなります。

関手圏は、「有向グラフを対象とし、その構造を保つ対応付けを射とする圏」となります。

「米田の補題」によって「局所的に小さいあらゆる圏は関手圏に埋め込める」ということらしいので、「米田の補題」のところ(④⑤)まで見た後でまた考えることにします。

②自然変換の定義2

 \mathcal{C} から圏  \mathcal{D} への関手  F \mathcal{D} から  \mathcal{C} への関手  G で、関手圏の対象として  G \circ F = 1_\mathcal{C} F \circ G = 1_\mathcal{D} なるものが存在するとき  \mathcal{C} \mathcal{D} は圏同値であると言います。

③自然変換の例1:前順序集合に関する例

前順序集合は、二つの対象の間に射が存在しないか、ただ一つしかないという圏となります。(第2章⑥)

 \mathcal{C} \mathcal{D} を前順序集合とし、 F, G \mathcal{C} から  \mathcal{D} への関手(順序を保つ写像)とします。このとき、 F から  G への自然変換とは、「任意の  X に対して  F(X) \le G(X)」として定義される順序関係となります。このとき、図式の可換性は自明となります。

このとき関手圏  \mathbf{Fun}(\mathcal{C}, \mathcal{D}) は、 \mathcal{C} から  \mathcal{D} への「順序を保つ写像全体」に「自然な順序付け」をしたものとなります。

任意の集合は、恒等射しか存在しない圏(離散圏)と考えられます。つまり、任意の集合は前順序集合と考えられます。

このとき、「自明な前順序集合」としての任意の集合  \mathcal{C} から、ある前順序集合  \mathcal{D} への任意の写像は順序を保つ写像となります。

関手圏  \mathbf{Fun}(\mathcal{C}, \mathcal{D}) は、「集合  \mathcal{C} から、ある前順序集合  \mathcal{D} への写像全体」に「自然な順序付け」をしたものとなります。

以上、ほぼ定義を引用しただけです。

「エレファントな整数論」で写像から作られる前順序集合について調べているのですが、今のところ圏論的な議論として書けるような内容がないので何かできたらまた書きたいと思います。

トポスについて書かれていたのでこれも引用しておきます。

関手圏  \mathbf{Fun}(\mathcal{C}, \mathbf{Set}) は普通の集合の圏  \mathbf{Set} にとてもよく似た性質を持つ圏、いわゆる「トポス」となる。

トポスについては詳しくないので想像で書きますが、論理式の中には論理プログラミングとして書けるものと書けないものがあって、論理プログラミングとして書けるプログラムの「型」を表すものとして使えるのではないか、と考えています。

サーバー側のプロクラムとクライアント側のプログラムで全体で1つのプログラムの中で、クライアント側のプログラムを変更する事は全体としてはどういう意味になっているのかということを考えると、クライアント側の「型」とサーバー側の「型」を合成したものと考えることができます。

様々なクライアント側のプログラムを作るためのプログラミング言語がありますが、そのプログラムを論理プログラミングのプログラムとして表したときの「型」を表すような機能があれば、そのクライアント側のプログラムを更新するだけで全体を更新することができると考えられます。

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

圏論の道案内」では自然変換を中心に説明されているということなので、「第4章 自然変換」のあたりから読んでいこうと考えています。

その前の「第3章 関手」ではいろいろな例が書かれていますが、これは自然変換に関連したものと思われます。

その前に「前順序」の説明があるのですが、これは自然変換と関係があるのかどうかよくわかりませんでした。

続いて、この本では「コンマ圏」を使って極限が説明されているようなので、「第5章 普遍性 ⑥射圏,そして一般射圏」のあたりを読んでみようと思います。この本では「コンマ圏」のことを「一般射圏」と呼んでいます。

第4章を見ていく前に、第2章、第3章について簡単に見ていきます。

第2章 圏

 \mathcal{C} は以下のものからなります(一部Wikipediaによる)。

  • 対象の類  \mathrm{ob}(\mathcal{C})
  • 対象の間の射の類  \mathrm{hom}(\mathcal{C})

以下の条件が成り立つとき  \mathcal{C} を圏と呼びます。

 f \in \mathrm{hom}(\mathcal{C}) には域と呼ばれる対象  A \in \mathrm{ob}(\mathcal{C}) および余域と呼ばれる対象  B \in \mathrm{ob}(\mathcal{C}) がただ一つ存在します。このとき「 f A から  B への射である」と言い、 f: A \to B と書き、 A \mathrm{dom}(f) B \mathrm{cod}(f) と書きます。

 f, g に対し、 \mathrm{cod}(f) = \mathrm{dom}(g) であるとき、射の合成と呼ばれる  \mathrm{dom}(f) から  \mathrm{cod}(g) への射  g \circ f が一意的に存在します。以下の結合律、単位律が成り立ちます。

結合律: 射  f, g, h \mathrm{cod}(f) = \mathrm{dom}(g) かつ  \mathrm{cod}(g) = \mathrm{dom}(h) であるならば  h \circ (g \circ f) = (h \circ g) \circ f が成り立ちます。

単位律: 各対象  A ∈ \mathrm{ob}(\mathcal{C}) に対して  A の恒等射と呼ばれる射  1_A: A \to A が存在して、任意の射  f: A \to X および  g: X \to A に対して  1_A \circ f = f g \circ 1_A = g が成り立ちます。

第3章 関手

①関手の定義

 \mathcal{C} から圏  \mathcal{D} への関手  F とは以下の条件を満たすものを言います。

  •  \mathcal{C} の各対象  X \mathcal{D} の各対象  F(X) に対応させる。
  •  \mathcal{C} の射  f: X \to Y \mathcal{D} の射  F(f): F(X) \to F(Y) に対応させる。
  •  \mathcal{C} の任意の射  f: X \to Y g: Y \to Z に対して  F(g \circ f) = F(g) \circ F(f) が成り立つ。
  •  \mathcal{C} の各対象  X ∈ \mathcal{C} に対して  F(1_X) = 1_{F(X)} が成り立つ。
④関手の例3:モノイド準同型(1)

ここでは可換モノイドを「量系」という用語で表しています。量系(可換モノイド)を対象とし、その間の準同型を射とする圏を「量系の圏  \mathbf{Qua}」(「可換モノイドの圏  \mathbf{CMon}」)と呼びます。

⑤関手の例4:モノイド準同型(2)

ここでは半環を「数系」という用語で表しています。「数系  A 上の量系」という用語も使われています。これは一般的な用語がないようで、このブログでは独自に半環上のフラクタル加群と呼んでいます。これが自然変換として扱われているのかどうかまだよくわかりません。

⑥関手の例5:モノイド準同型(3)

ここは以下のような内容が書かれています。引用しておきます。

 A を数系とする。 A 上の量系を対象とし「 \mathbf{Qua} の射であって数による乗法と可換なもの」を射とする圏を  A\mathbf{-Qua} と書く。

数系  A 上の量系  M A\mathbf{-Qua} における同型として  M \cong A であるとき、これをスカラー量系と呼び、その射をスカラー量と呼ぶ。

⑦関手の例6:線型表現(1)

ここは以下のような内容が書かれています。引用しておきます。

数系  A が、乗法についても可換なモノイドとなるとき可換数系と呼ぶ。

 A可換環であるとき、 A 上の量系は加群となり、 A 上の加群と呼ばれる。 A 上の加群を対象とし、 A\mathbf{-Qua} の射を射とする圏を  A\mathbf{-Mod} と書く。

線型空間の間の  K\mathbf{-Mod} の射をを特に線型写像と呼び、体  K 上の線型空間を対象とし、線型写像を射とする圏を  K\mathbf{-Vect} と書く。

 G から  K\mathbf{-Vect} への関手は  G K 上の線型表現と呼ばれる。