Corollaryは必然に。

このブログは「コロちゃんぬ」の提供でお送りします

随伴は あらゆるところに 現れる

この記事はCategory Theory Advent Calendar 2018の6日目の記事であることをお知らせします。7日目はmod_poppoさんの「アプリカティブ関手ってなに?モノイド圏との関係は?調べてみました!」です。

Φカフェ数学デーで行われている「『ベーシック圏論』をゆるく読む会」、通称「ゆる圏↻」。前回は第1章のまとめとして「圏・関手・自然変換」について書きました。
corollary2525.hatenablog.com

今回は第2章の随伴です。Saunders Mac Lane の教科書 Categories for the Working Mathematicianには次の標語が載っています :

Adjoint functors arise everywhere.
「随伴は あらゆるところに 現れる」と訳せば五七五ですね*1。あらゆるところに現れるのであれば随伴は重要な概念と言えるでしょう。ということで、随伴が大事であることを強調するために「随伴は あらゆるところに 現れる」というフレーズはあらゆるところに現れます。

必要な知識とNotation

  • 前回のブログ(特に圏と関手の定義)
  • A\in\operatorname{ob}(\mathscr{A}) であることを単に A\in\mathscr{A} と表記することがあります*2
  • 随伴の例で線形空間位相空間を挙げるので少なくともどちらか一方の基本的なことを知っているとより良いです。

随伴の定義

随伴は あらゆるところに 現れる
と言いましたが、まずは随伴の定義をしなければ何も始まりません。随伴の定義をズバッと簡潔に書き、あとから丁寧に解説していくスタイルでいきます。

定義(随伴はあらゆるところに現れる)
\[\xymatrix{
\mathscr{A} \ar@<0.5ex>[r]^-F & \mathscr{B} \ar@<0.5ex>[l]^-G
}\]を圏と関手とする.FG左随伴(left adjoint)である(F\dashv Gと表す)
\overset{def.}{\iff}任意のA\in\mathscr AB\in\mathscr Bに対して
\[
\mathscr{B}(F(A), B)\cong \mathscr{A}(A, G(B))\tag{1}\label{1}
\]が自然に成り立つ.

\overset{def.}{\iff}任意のA\in\mathscr AB\in\mathscr Bに対して同型射(どちらの向きもバーで表すことにする)\[
\xymatrix@C=25pt@R=2.8pt{
\mathscr{B}(F(A), B) \ar[r]^{\sim} & \mathscr{A}(A, G(B)) \\
g \ar@{(-}[u] \ar@{|->}[r] & \bar{g} \ar@{(-}[u]\\
\bar{f} & f \ar@{|->}[l]
}
\]が存在し, 次の自然性の公理をみたす :

\begin{align}
\overline{\left(F(A)\overset{g}{\longrightarrow}B\overset{q}{\longrightarrow}B'\right)}&=A\overset{\bar{g}}{\longrightarrow}G(B)\overset{G(q)}{\longrightarrow}G(B'),\\
\overline{\Big(A\overset{p}{\longrightarrow}A'\overset{f}{\longrightarrow}G(B)\Big)}&=F(A)\overset{F(p)}{\longrightarrow}F(A')\overset{\overline{f}}{\longrightarrow}B.
\end{align}

また, \bar{g}g転置(transpose)といい, FG の間の随伴(adjunction)とは自然性の公理をみたす\eqref{1} の同型の選択のことをいう.

大ざっぱにいうと、FGの左随伴であるとは、F(A)\to B を与えることと射 A\to G(B) を与えることが本質的に同じであることを述べています。私はこれを納得するために、まずは記号操作からお近づきになろうと思いました。
\[
\mathscr{B}(F(A), B)\cong \mathscr{A}(A, G(B))
\]というのは、この2つの射の集まりの間に同型全単射と思ってOK)が存在することを言っていて、同型射とその逆射をどちらも同じ記号のバーで表している所に注意が必要です。そして、\mathscr{B}の射である
\[F(A)\overset{g}{\longrightarrow} B\]にバーをつける操作をすると、FGに変身し、右隣りのBにくっついて\mathscr{A}の射
\[A\overset{\overline{g}}{\longrightarrow}G(B)\]になります。しつこいかもしれませんが、
\[\overline{\left(F(A)\overset{g}{\longrightarrow}B\right)}=A\overset{\overline{g}}{\longrightarrow}G(B)\]ということです。逆向きも同様にして\mathscr{A}の射 A\overset{f}{\longrightarrow}G(B) にバーをつける操作をすると,\mathscr{B}の射 F(A)\overset{\overline{f}}{\longrightarrow}B になります :
\[\overline{\Big(A\overset{f}{\longrightarrow}G(B)\Big)}=F(A)\overset{\overline{f}}{\longrightarrow}B.\]この2つのバーをつける操作は互いに逆なので、バーを2回作用させると元に戻ります。つまり、任意のF(A)\overset{g}{\longrightarrow}BA\overset{f}{\longrightarrow}G(B) に対して
\[\overset{=}{g}=g,\quad\overset{=}{f}=f\]となります。


これだけではなく、「自然性の公理」という条件が課せられていますね。ここでいう自然性とは、「射の合成」「関手FG」「転置」の操作が順番に依らずに等しくなることを言います。例えば
\[F(A)\overset{g}{\longrightarrow}B\overset{q}{\longrightarrow}B'\]に何か作用させようと思ったら…

  • 合成 F(A)\overset{q\circ g}{\longrightarrow}B' をしてから転置したもの A\overset{\overline{q\circ g}}{\longrightarrow}G(B')
  • g の転置 A\overset{\bar{g}}{\longrightarrow}G(B) をしてから G(B)\overset{G(q)}{\longrightarrow}G(B') を合成したもの A\overset{G(q)\circ\bar{g}}{\longrightarrow}G(B')

の2つがあります。\overline{q\circ g}G(q)\circ\bar{g} はどちらも 射 A\longrightarrow G(B') ですが、\overline{q\circ g}=G(q)\circ\bar{g} であることを保証するのが自然性です。


随伴の例

随伴は あらゆるところに 現れる
と言いましたが、これが正しいことを言うために色んな例を紹介します。


自由\dashv忘却

多くの場合、忘却関手は左随伴をもちます。前回のブログでも登場しましたが、F:\textbf{Set}\to\textbf{Vect}_k を自由関手とし、U:\textbf{Vect}_k\to\textbf{Set} を忘却関手とします。このとき、次の随伴
\[\xymatrix@=14pt{
\mathbf{Vect}_k \ar@<5pt>[d]^-U \\
\mathbf{Set} \ar@<5pt>[u]^-F\ar@{}[u] |{\dashv}
}\]があります。これを示すために1つ1つ丁寧に証明していきましょう。

まず最初に、任意のS\in\mathbf{Set}V\in\mathbf{Vect}_k に対して同型
\[\mathbf{Vect}_k(F(S),V)\cong\mathbf{Set}(S,U(V))\]を見つけます。線形写像 F(S)\overset{g}{\longrightarrow}V に対して写像 S\overset{\bar{g}}{\longrightarrow}U(V) を定義するために、各 s\in S に対して\bar{g}(s) の取る値を決定させるのですが、
\[\bar{g}(s):=g(1\cdot s)\] と定義しましょう。ただし、s\in SF(S) の元だと見なしていることを強調するために 1\cdot s\in F(S) と表しました。これにて
\[
\xymatrix@C=25pt@R=2.8pt{
\mathbf{Vect}_k(F(S), V) \ar[r] & \mathbf{Set}(S, U(V)) \\
g \ar@{(-}[u] \ar@{|->}[r] & \bar{g} \ar@{(-}[u]
}
\]が定義できました。次にこれが全単射であることを示すために逆向きの関数を見つけます。任意の写像 S\overset{f}{\longrightarrow}U(V) に対して線形写像 F(S)\overset{\overline{f}}{\longrightarrow}V を定義します(同じ記号ですが、さっき定めたバーとは違うので注意!)F(S) の任意の元は形式的に\sum_{s\in S}\lambda_s s\(ただし\lambda_s\in k は有限個を除いて\lambda_s=0 と表せるのでこれを V に送ればいいのですが、
\[\overline{f}\left(\sum_{s\in S}\lambda_s s\right):=\sum_{s\in S}\lambda_s f(s)\]と定義するのがよさそうです。

補足 送った先の \sum_{s\in S}\lambda_s f(s)V における線形結合です!また、

\begin{align}
\overline{f}\left(a\sum_{s\in S}\lambda_s s+b\sum_{s\in S}\mu_s s\right)&=\overline{f}\left(\sum_{s\in S}(a\lambda_s+b\mu_s) s\right)\\
&=\sum_{s\in S}(a\lambda_s+b\mu_s) f(s)\\
&=a\sum_{s\in S}\lambda_s f(s)+b\sum_{s\in S}\mu_s f(s)\\
&=a\overline{f}\left(\sum_{s\in S}\lambda_s s\right) + b\overline{f}\left(\sum_{s\in S}\mu_s s\right)\\
\end{align}

となるので \overline{f} は線形です!
これで
\[
\xymatrix@C=25pt@R=2.8pt{
\mathbf{Set}(S, U(V)) \ar[r] & \mathbf{Vect}_k(F(S), V) \\
f \ar@{(-}[u] \ar@{|->}[r] & \overline{f} \ar@{(-}[u]
}
\]が定義できました。

これらの2つの関数「バー」が互いに逆になっていることを確認します。同じ記号で表しているので、どっちのバーなのかに注意していきましょう。任意の線形写像 F(S)\overset{g}{\longrightarrow}V に対して

\begin{align}
\overset{=}{g}\left(\sum_{s\in S}\lambda_s s\right) &=\sum_{s\in S}\lambda_s \bar{g}(s) &&(\text{後のバー})\\
&=\sum_{s\in S}\lambda_s g(1\cdot s) &&(\text{前のバー})\\
&=g\left(\sum_{s\in S}\lambda_s s\right) &&(g\text{の線形性})
\end{align}

であるから \overset{=}{g}=g が示せました。そして、任意の写像 S\overset{f}{\longrightarrow}U(V) に対して
\begin{align}
\overset{=}{f}(s) &=\overline{f}(1\cdot s) &&(\text{前のバー})\\
&=1\cdot f(s) &&(\text{後のバー})\\
&=f(s) &&(\text{計算})
\end{align}であるから \overset{=}{f}=f が示せました。以上より
\[\mathbf{Vect}_k(F(S),V)\cong\mathbf{Set}(S,U(V))\]が証明できました。
随伴は あらゆるところに 現れる
…と決め台詞を言いたい所ですが、自然性の公理のチェックもしなければなりません。一つ目の示すべき式は

\[\overline{\left(F(S)\overset{g}{\longrightarrow}V\overset{q}{\longrightarrow}V'\right)}=S\overset{\bar{g}}{\longrightarrow}U(V)\overset{U(q)}{\longrightarrow}U(V')\]

です。任意の線形写像 F(S)\overset{g}{\longrightarrow}V\overset{q}{\longrightarrow}V' に対して

\begin{align}
\overline{(q\circ g)}(s) &=(q\circ g)(1\cdot s) &&(\text{前のバー})\\
&=q(g(1\cdot s)) &&(\text{合成})\\
&=q(\bar{g}(s)) &&(\text{前のバー})\\
&=U(q)(\bar{g}(s)) &&(U(q)\text{の定義})\\
&=(U(q)\circ\bar{g})(s) &&(\text{合成})
\end{align}

であるから\overline{(q\circ g)}=U(q)\circ\bar{g} が示せました。二つ目の示すべき自然性は

\[\overline{\left(S\overset{p}{\longrightarrow}S'\overset{f}{\longrightarrow}U(V)\right)}=F(S)\overset{F(p)}{\longrightarrow}F(S')\overset{\overline{f}}{\longrightarrow}V\]

です。任意の写像 S\overset{p}{\longrightarrow}S'\overset{f}{\longrightarrow}U(V) に対して

\begin{align}
\overline{(f\circ p)}\left(\sum_{s\in S}\lambda_s s\right) &=\sum_{s\in S}\lambda_s (f\circ p)(s) &&(\text{後のバー})\\
&=\sum_{s\in S}\lambda_s f(p(s)) &&(\text{合成})\\
&=\overline{f}\left(\sum_{s\in S}\lambda_s p(s)\right) &&(\text{後のバー})\\
&=\overline{f}\left(F(p)\left(\sum_{s\in S}\lambda_s s\right)\right) &&(F(p)\text{の定義})\\
&=(\overline{f}\circ F(p))\left(\sum_{s\in S}\lambda_s s\right) &&(\text{合成})
\end{align}

であるから確かに \overline{(f\circ p)}=\overline{f}\circ F(p) が成り立ちます。

これにて無事に F\dashv U であることが証明できました。■



息抜きにここで一句。



f:id:corollary2525:20181205214753p:plain



(息抜き終了)



他にも  F:\mathbf{Set}\to\mathbf{Grp} を自由群関手とすると随伴
\[\xymatrix@=14pt{
\mathbf{G r p} \ar@<5pt>[d]^-U \\
\mathbf{Set} \ar@<5pt>[u]^-F\ar@{}[u] |{\dashv}
}\]があります。自由群の明示的構成は面倒です。しかし、自由群を忘却関手の左随伴と考えることで、面倒な自由群の明示的構成から解放されます。というのも実は、関手が左随伴をもつとすれば自然同型を除いて一意的であることが(ベーシック圏論の4章で)証明されるからです。また、多くの忘却関手が左随伴をもつことを保証する定理(一般随伴関手定理)は6章で証明します。もちろん、私はまだ何も知りません笑


これも紹介だけにとどめますが、次の随伴があります :
\[\xymatrix@=14pt{
\mathbf{Ab} \ar@<5pt>[d]^-U \\
\mathbf{G r p}. \ar@<5pt>[u]^-F\ar@{}[u] |{\dashv}
}\]ただし、 F:\mathbf{Grp}\to\mathbf{Ab} は群 G のアーベル化によって定まる関手で、 U:\mathbf{Ab}\to\mathbf{Grp} は包含関手(忘却関手の仲間)を表します。詳しくは『ベーシック圏論』を買って読んでね!


まだ忘却関手の左随伴しか登場していませんが、

随伴は あらゆるところに 現れる
というのがなんとなく実感できたような気がしてきました。


離散\dashv忘却\dashv密着

U:\mathbf{Top}\to\mathbf{Set}は忘却関手とし,各S\in\mathbf{Set}に対して,D(S)I(S)はそれぞれSの離散位相,密着位相を導入します。このとき,D,\; I:\mathbf{Set}\to\mathbf{Top}は関手になり,次のような随伴があります: \[
\xymatrix{
\mathbf{Top} \ar[d] |U \ar@{}[d]<1.7ex> |{\dashv} \ar@{}[d]<-1.7ex> |{\dashv}\\
\mathbf{Set}. \ar@<3.4ex>[u]^-D \ar@<-3.4ex>[u]_-I
}\] D\dashv Uを示すためには,まず任意のS\in\mathbf{Set}X\in\mathbf{Top}に対して
\[\mathbf{Top}(D(S), X)\cong \mathbf{Set}(S, U(X))\]が言えればよいですが,連続写像 g\in\mathbf{Top}(D(S), X) に対して \bar{g} はただの関数とみなします。つまり,
\[\bar{g}:=g\in\mathbf{Set}(S, U(X))\]と定義します*3f\in\mathbf{Set}(S, U(X))についてはSに離散位相を導入すればf:D(S)\to Xは連続になるから
\[\overline{f}:=f\in\mathbf{Top}(D(S), X)\]と定義できます。このとき、g\in\mathbf{Top}(D(S), X)f\in\mathbf{Set}(S, U(X))に対して
\[\overset{=}{g}=g,\quad\overset{=}{f}=f\]となることは本当に明らか(バーを1つずつ消していくだけ)なので,バーをとる操作が互いに逆,つまり
\[\mathbf{Top}(D(S), X)\cong \mathbf{Set}(S, U(X))\]が示せました。

次に,自然性の公理が成り立つかどうかのチェックです。1つ目の式

\[\overline{\left(D(S)\overset{g}{\longrightarrow}X\overset{q}{\longrightarrow}X'\right)}=S\overset{\bar{g}}{\longrightarrow}U(X)\overset{U(q)}{\longrightarrow}U(X')\]

が成り立つかどうかのチェックをしましょう。これは任意のs\in Sに対して

\begin{align}
\overline{(q\circ g)}(s)&=(q\circ g)(s)&&(\text{バーの定義}),\\
(U(q)\circ\bar{g})(s)&=(q\circ g)(s)&&(Uと\text{バーの定義})
\end{align}

となるから確かに\overline{(q\circ g)}=U(q)\circ\bar{g} が成立しています。

ゆる圏↻ ではこの証明を聞いて、

「証明した気が全くしないw」
「なんだこの証明しがいのなさはw」
「まるでUやバーが溶けていく」

のような声が上がりました。

もう一つの式

\[\overline{\left(S\overset{p}{\longrightarrow}S'\overset{f}{\longrightarrow}U(X)\right)}=D(S)\overset{D(p)}{\longrightarrow}D(S')\overset{\overline{f}}{\longrightarrow}X\]

の方も確認しましたが、書いている途中であまりにも自明すぎてクスクスと笑ってしまう事態になってしまいました(念のため書いておくとD(p)は連続ですが、取る値はpと同じなのでD(p)(s)=p(s)です)。以上よりD\dashv Uが示せました。

U\dashv Iについても同様に
\[\mathbf{Set}(U(X), S)\cong \mathbf{Top}(X, I(S))\]が自然に成り立ちます。これは任意のX\in\mathbf{Top}S\in\mathbf{Set}に対して g:X \to I(S) が連続であることだけ注意すれば大丈夫です。■



ちなみに、忘却関手が何かの左随伴になる例は少ないらしいです。へぇ~。

随伴は あらゆるところに 現れる
というのは本当っぽいですね。


まとめ

随伴は あらゆるところに 現れる
こと、実感できたでしょうか?ベーシック圏論ではこのブログで紹介した以外にも随伴の例を紹介していましたが、私の場合、この時点ではまだまだ
随伴は あらゆるところに 現れる
ことを少ししか実感できていなかったです。

次回は2章の続き「単位・余単位からみた随伴」「コンマ圏の始対象からみた随伴」についてです。この辺で私はようやく

随伴は あらゆるところに 現れる
ということに実感が持てたので、少なくともここまでこのブログで紹介したいです。また、この節から“圏論やってる感”が出てきて楽しくなってくるところであり、ベーシック圏論が最も焦点を置いている「普遍性」の考え方が分かってきます。お楽しみに。



thank Q for rEaDing.φ(・▽・ )

*1:訳さなくても「アジョイント ファンクタァズアライズ エブリウェア」は五七五です

*2:前回の記事でS\in\operatorname{ob}(\mathbf{Set}) の意味で S\in\mathbf{Set} と何も言わずに書いてしまってごめんなさい

*3:これもg\in\mathbf{Top}(D(S), X)のはずなのにg\in\mathbf{Set}(S, U(X) )とみなすというような記号の濫用に注意が必要です。