このブログの更新は Twitterアカウント @m_hiyama で通知されます。
Follow @m_hiyama

メールでのご連絡は hiyama{at}chimaira{dot}org まで。

はじめてのメールはスパムと判定されることがあります。最初は、信頼されているドメインから差し障りのない文面を送っていただけると、スパムと判定されにくいと思います。

[参照用 記事]

連立方程式系と余連立余方程式系

「圏論のエンドとコエンドは双対なんだよ」で述べたように、エンドとコエンドは完全に双対なのですが、この双対性、なかなかに分かりにくいようです。

エンドの作り方は「連立方程式系の解空間を求める」行為になっています。コエンドを作ることはその行為の双対です。つまり、コエンドの作り方は「余連立余方程式系の余解空間を求める」ことです。

そういうわけで、この記事では、連立方程式系と余連立余方程式系について述べます。$`
\newcommand{\cat}[1]{ \mathcal{#1} }
\newcommand{\mbf}[1]{ \mathbf{#1} }
\newcommand{\mrm}[1]{ \mathrm{#1} }
%\newcommand{\o}[1]{ \overline{#1} }
%\newcommand{\id}{ \mathrm{id} }
\newcommand{\In}{ \text{ in }}
\newcommand{\On}{ \text{ on }}
%\newcommand{\op}{ \mathrm{op}}
`$

内容:

射の並行ペア

圏 $`\cat{C}`$ のなかで、両端(域と余域)が一致している2本の射(以下の図)を並行ペア〈parallel pair〉*1、または共端ペア*2と呼びます。

$`\quad \xymatrix{
A \ar@/^/[r]^f \ar@/_/[r]_g
& B
}\\
\quad \In \cat{C}
`$

上記のような並行ペアをテキストで表記するときは次のように書くことにします。

$`\quad \mrm{PPair}(f, g)`$

両端の対象も明示したいときは:

$`\quad \mrm{PPair}(f, g : A\to B)`$

並行ペアは“圏論的な図式”です。圏論的な図式(通常、単に「図式」と呼ぶ)は、有向グラフ(通常、単に「グラフ」と呼ぶ)から圏 $`\cat{C}`$ へのグラフ準同型射のことです。正確に言えば、圏 $`\cat{C}`$ の台〈underlying thing | carrir〉である有向グラフへのグラフ準同型射です。このあたりは、イイカゲンな言い方と書き方をするのが習慣ですので注意してください。

図式の域を形状〈shape〉と呼びますが、「形状」の多義性から混乱が生じないように、ここでは形状スキーマ〈shape schema〉と呼びます。並行ペアの形状スキーマを $`\mbf{PP}`$ とします。

$`\quad \mbf{PP} := \xymatrix{
0 \ar@/^/[r]^2 \ar@/_/[r]_3
& 1
}
`$

ここで、$`0, 1, 2, 3`$ はラベルではなくて、有向グラフ $`\mbf{PP}`$ の構成素(頂点と辺)そのものです。

$`\mrm{PPair}(f, g : A\to B)`$ は図式(つまりグラフ準同型射)だったので、次のように書けます。

$`\quad \mrm{PPair}(f, g : A\to B) : \mbf{PP}\to \cat{C}`$

$`\cat{C}`$ が大きい〈小さくない〉かも知れない状況で、もっとちゃんと書くなら:

$`\quad \mrm{PPair}(f, g : A\to B) : \mbf{PP}\to \mrm{U}(\cat{C}) \In \mbf{GRAPH}`$

ここで、$`\mrm{U}`$ は圏からグラフへの忘却関手、$`\mbf{GRAPH}`$ は大きいグラフの圏です。

繰り返しますが、ほとんどの場合、ちゃんとは書かない(イイカゲンに書く)ので、自分でちゃんと解釈しましょう。

並行ペア $`\mrm{PPair}(f, g : A\to B)`$ の値割り当て〈value assignment〉は次のようです。

  • $`\mrm{PPair}(f, g : A\to B)(0) = A`$
  • $`\mrm{PPair}(f, g : A\to B)(1) = B`$
  • $`\mrm{PPair}(f, g : A\to B)(2) = f`$
  • $`\mrm{PPair}(f, g : A\to B)(3) = g`$

さて、並行ペア $`\mrm{PPair}(f, g)`$ は図式なので、その極限を考えることができます。

$`\quad \mrm{lim}\, \mrm{PPair}(f, g) =
\mrm{lim}_{\mbf{PP}}\, \mrm{PPair}(f, g)
`$

「極限」が、極限錐〈{limit | limiting} cone〉を表すか極限対象〈{limit | limiting} object〉(極限錐の頂点)を表すかはたいてい曖昧です。自分で判断する必要があります。が、ここでは(あくまでローカルルール)、上記の記法で極限対象を表します。極限が存在するなら:

$`\quad \mrm{lim}\, \mrm{PPair}(f, g) \in |\cat{C}|`$

余極限についても同様です。

方程式と解空間

並行ペア $`\mrm{PPair}(f,g)`$ の極限はイコライザー〈equalizer | 等値核〉です。イコライザーが何を意味するかも通常は曖昧にされます。ここでは、イコライザー対象〈equalizer object〉とイコライザー射〈equalizer morphism〉として区別します。イコライザー対象 $`\mrm{Eq}(f, g)`$ は極限対象(極限錐の頂点)です。イコライザー射 $`\mrm{eq}(f, g)`$ は、極限錐の射影のひとつです。以下のように{書け | 描け}ます。

$`\quad \mrm{Eq}(f, g) := \mrm{lim}\, \mrm{PPair}(f, g)`$

$`\quad \xymatrix{
\mrm{Eq}(f, g) \ar[r]^-{\mrm{eq}(f, g)}
& A \ar@/^/[r]^f \ar@/_/[r]_g
& B
}\\
\quad \text{commutative }\In \cat{C}
`$

並行ペア $`\mrm{PPair}(f,g)`$ の余極限はコイコライザー〈coequalizer | 余等値核 | 等値余核〉です。コイコライザー対象〈coequalizer object〉、コイコライザー射〈coequalizer morphism〉も、イコライザーの場合の双対として定義します。

ここから先、考える圏 $`\cat{C}`$ は集合圏 $`\mbf{Set}`$ に限定します。対象は集合で、射は写像〈関数〉です。

集合圏の並行ペア $`\mrm{PPair}(f,g: A \to B)`$ を、イコライザーを作る〈極限を取る〉心づもり(状況設定)で考える場合に等式〈equation〉と呼び、$`(f = g)`$ と書きます。

集合圏の等式 $`(f = g)`$ の解空間〈solution space〉は次のように定義されます。

$`\quad \mrm{Sol}(f = g) := \{x\in A\mid f(x) = g(x) \On B\}`$

集合圏では、等式の解空間をイコライザー対象だと思ってよいので:

$`\quad \mrm{Sol}(f = g) = \mrm{Eq}(f, g) = \mrm{lim}\, \mrm{PPair}(f, g)`$

この場合のイコライザー射は、等式の解空間から集合 $`A`$ への包含写像です。包含写像を $`\mrm{sol}(f = g)`$ (小文字 's' に注意)と書くなら:

$`\quad \mrm{sol}(f = g) = \mrm{eq}(f, g) \;: \mrm{Sol}(f = g) \to A \In \mbf{Set}`$

方程式とその解空間という概念は、中学校以来お馴染みなものです。集合圏のイコライザーは、そのお馴染みの概念を圏論的に定式化しただけです。

余方程式と余解空間

お馴染みの「方程式と解空間」の双対概念はけっこう複雑です。圏論的な双対とは、単に形式的に矢印を逆向き〈opposite〉にするだけですが、それを具体的に実現するとなると、もとの概念と双対概念が似ても似つかないものになることがあります。その違和感を緩和するために、以下の記事を読んでおくといいかも知れません。

集合圏の並行ペア $`\mrm{PPair}(f,g: A \to B)`$ を、コイコライザーを作る〈余極限を取る〉心づもり(状況設定)で考える場合に余等式〈coequation〉と呼び、$`(\sim_{f,g})`$ と書きましょう。

ここで出てきた $`\sim_{f,g}`$ は何かというと、写像 $`f, g`$ から作られた集合 $`B`$ 上の二項関係(同値関係とは限らない!)です。関係 $`\sim_{f, g}`$ の定義は以下のとおりです。

$`\text{For }y, y' \in B\\
\quad y \sim_{f,g}y' := \exists x\in A.\, f(x) = y \land g(x) = y'
`$

$`y \sim_{f,g} y'`$ を図示するなら次のようです。

$`\quad \xymatrix{
{}
& {\text{som }x} \ar@{|->}[dl]_{f} \ar@{|->}[dr]^{g}
& {}
\\
y
& {}
& y'
}`$

関係 $`\sim_{f,g}`$ が $`B`$ 上の同値関係とは限りませんが、同値閉包〈equivalence closure〉を作れば同値関係になります。同値閉包については「圏論のエンドとコエンドは双対なんだよ」に書いています。

関係 $`\sim_{f,g}`$ の同値閉包である $`B`$ 上の同値関係を $`\simeq_{f,g}`$ と書くことにします。同値関係 $`\simeq_{f, g}`$ は、関係 $`\sim_{f, g}`$ から、従って並行ペア $`\mrm{PPair}(f, g)`$ から一意に決まります。

集合 $`B`$ を、同値関係 $`\simeq_{f,g}`$ で割った商集合を、余方程式 $`(\sim_{f,g})`$ の余解空間〈cosolution space〉と呼び、$`\mrm{Cosol}(f, g)`$ と書くことにします。

$`\quad \mrm{Cosol}(f,g):= B/{\simeq_{f,g}}`$

商集合への標準射影を $`\mrm{cosol}(f,g)`$ と書きます。

$`\quad \mrm{cosol}(f, g) : B \to \mrm{Cosol}(f,g) \In \mbf{Set}`$

もちろん、写像 $`\mrm{cosol}(f,g)`$ は全射(集合圏のエピ射)です。

中間まとめ

ここまでの話は、集合圏の並行ペア(形状スキーマが $`\mbf{PP}`$ である図式)$`\mrm{PPair}(f, g:A \to B)`$ を二通りに解釈して、それに伴う解空間/余解空間を考えると、極限/余極限の概念を具体的に実現できる、ということです。

極限を実現したいときは:

  • 並行ペア $`\mrm{PPair}(f, g:A \to B)`$ を、等式 $`(f = g)`$ と解釈する。
  • 等式 $`(f = g)`$ の解空間 $`\mrm{Sol}(f,g)`$ を考える。
  • 同時に、解空間の $`A`$ への包含写像 $`\mrm{sol}(f, g): \mrm{Sol}(f,g) \to A \In \mbf{Set}`$ も考える。
  • $`\mrm{Sol}(f,g)`$ と $`\mrm{sol}(f,g)`$ が、並行ペア $`\mrm{PPair}(f, g:A \to B)`$ のイコライザー対象(極限対象)とイコライザー射(射影のひとつ)となる。

余極限を実現したいときは:

  • 並行ペア $`\mrm{PPair}(f, g:A \to B)`$ を、余等式 $`(\sim_{f, g})`$ と解釈する。
  • 余等式 $`(\sim_{f, g})`$ の余解空間 $`\mrm{Cosol}(f,g)`$ を考える。
  • 同時に、$`B`$ から余解空間への標準射影写像 $`\mrm{cosol}(f, g): B \to \mrm{Cosol}(f,g) \In \mbf{Set}`$ も考える。
  • $`\mrm{Cosol}(f,g)`$ と $`\mrm{cosol}(f,g)`$ が、並行ペア $`\mrm{PPair}(f, g:A \to B)`$ のコイコライザー対象(余極限対象)とコイコライザー射(余射影〈入射〉のひとつ)となる。

連立方程式系

集合圏の並行ペア $`\mrm{PPair}(f, g:A \to B)`$ は、ひとつの等式 $`(f = g)`$ を定義します。等式がひとつではなくてたくさん在る場合を考えましょう。

$`I`$ をインデキシング集合〈indexing set〉として、$`I`$ でインデックス付けられた並行ペアの族〈ファミリー〉を考えます。それを次のように書きます。

$`\quad ( \mrm{PPair}(f_i, g_i : A \to B_i))_{i\in I}`$

ここで、写像の域は $`A`$ に固定していて、$`i`$ によって変化はしないことにします。余域 $`B_i`$ は $`i`$ に依存して変化してかまいません。

対応する方程式の族は次のように書けます。

$`\quad ( (f_i = g_i) )_{i\in I}`$

二重の括弧がうるさいので、次のように略記してもいいとします。

$`\quad ( f_i = g_i )_{i\in I}`$

これが連立方程式系〈system of equations〉です。

集合圏では、任意の並行ペアに対してイコライザーが存在します。言い方を変えると、任意の方程式に対して解空間が存在します。インデックス $`i\in I`$ ごとに、次のような解空間と包含写像が得られます。

$`\quad \mrm{sol}(f_i, g_i) : \mrm{Sol}(f_i, g_i) \to A \In \mbf{Set}`$

記法を簡素化するために、$`\mrm{sol}(f_i, g_i)`$ を $`s_i`$ 、$`\mrm{Sol}(f_i, g_i)`$ を $`S_i`$ と置きましょう。すると:

$`\quad s_i : S_i \to A \In \mbf{Set}`$

これを図示すると、$`s_i`$ を余脚〈coleg〉、$`S_i`$ を余足〈cofoot〉とする複コスパン〈multi-cospan〉になります。この例では、すべての余脚が単射(集合圏のモノ射)になっています。

図式としての複コスパンの極限対象は、複ファイバー積〈ファイバー総積〉です。極限錐の射影は、複ファイバー積の射影です。今の場合、すべての余脚が単射という特殊事情があるので、複ファイバー積を、以下のごとく集合論的に記述できます。

複コスパンの余脚 $`s_i : S_i \to A`$ が単射なので、集合 $`S_i`$ を集合 $`A`$ の部分集合とみなします。つまり、$`S_i \subseteq A`$ 、あるいは $`S_i \in \mrm{Pow}(A)`$ 。

複ファイバー積(極限対象)は、部分集合 $`S_i`$ 達の共通部分として得られます。

$`\quad \mrm{lim}_{i\in I}\, S_i = \bigcap_{i\in I}S_i`$ (横着した書き方)

極限錐の射影は、包含写像 $`(\bigcap_{i\in I}S_i) \to S_a`$ で与えられます。

集合 $`S_i`$ は方程式 $`(f_i = g_i)`$ の解空間だったので、それらの共通部分 $`\bigcap_{i\in I}S_i`$ は連立方程式系 $`(f_i = g_i)_{i\in I}`$ の解空間となります。

ここで注意すべきは、連立方程式系の解空間(個別方程式の解空間の共通部分)$`S`$ は、極限操作を二回行って得られていることです。

$`\quad S = \mrm{lim}_{i\in I}\, S_i = \mrm{lim}_{i\in I}(\mrm{lim}_{\mbf{PP}}\, \mrm{PPair}(f_i, g_i))`$

連立方程式系を解く操作は、繰り返し極限〈iterated limit〉を取ることなのです。

余連立余方程式系

$`I`$ でインデックス付けられた並行ペアの族〈ファミリー〉を考えます。それを次のように書きます。

$`\quad ( \mrm{PPair}(f_i, g_i : A_i \to B))_{i\in I}`$

今度は、写像の余域は $`B`$ に固定していて、域 $`A_i`$ は変化してかまわないとします。

対応する余方程式の族は次のように書けます。

$`\quad ( \sim_{f_i, g_i} )_{i\in I}`$

これが余連立余方程式系〈cosystem of coequations〉です。

集合圏では、任意の並行ペアに対してコイコライザーが存在します。言い方を変えると、任意の余方程式に対して余解空間が存在します。インデックス $`i\in I`$ ごとに、次のような余解空間と標準射影写像が得られます。

$`\quad \mrm{cosol}(f_i, g_i) : B \to \mrm{Cosol}(f_i, g_i) \In \mbf{Set}`$

記法を簡素化するために、$`\mrm{cosol}(f_i, g_i)`$ を $`c_i`$ 、$`\mrm{Cosol}(f_i, g_i)`$ を $`C_i`$ と置きましょう。すると:

$`\quad c_i : B \to C_i \In \mbf{Set}`$

これを図示すると、$`c_i`$ を脚〈leg〉、$`C_i`$ を足〈foot〉とする複スパン〈multi-span〉になります。この例では、すべての脚が全射(集合圏のエピ射)になっています。

図式としての複スパンの余極限対象は、複コファイバー和〈コファイバー総和〉です。余極限余錐の余射影〈入射〉は、複ファイバー和の余射影〈入射〉です。今の場合、すべての脚が全射という特殊事情があるので*3、複コファイバー和を、以下のごとく集合論的に記述できます。

複スパンの脚 $`c_i : B \to C_i`$ が全射なので、集合 $`C_i`$ を集合 $`B`$ の商集合とみなします。ひとつの集合 $`B`$ の商集合がたくさん在る状況です。

まず、$`C_i`$ 達の総直和を作ります。

$`\quad \sum_{i\in I}C_i`$

この総直和の二つの要素 $`z,z'`$ は、次の条件を満たすときに同一視します。

$`\quad \exists y\in B.\exists i, j\in I.\, s_i(y) = z \land s_j(y) = z'`$

この同一視ルール($`\sum_{i\in I}C_i`$ 上の二項関係)の同値閉包である同値関係 $`\simeq`$ を考えて、総直和集合 $`\sum_{i\in I}C_i`$ を同値関係 $`\simeq`$ で割った商集合を $`C`$ とします。

$`\quad C = (\sum_{i\in I}C_i)/\simeq`$

商集合の標準射影を $`p`$ とします。

$`\quad p : \sum_{i\in I}C_i \to C \In \mbf{Set}`$

標準射影を $`p`$ を、直和成分 $`C_i`$ に制限した写像は $`p_i`$ とします。

$`\quad p_i : C_i \to C \In \mbf{Set}`$

以上の構成によって得られた集合 $`C`$ は、複スパン $`(c_i : B \to C_i)_{i\in I}`$ の余極限対象になっています。$`p_i`$ は、余極限余錐の余射影〈入射〉です。横着した書き方で次のように書けます。

$`\quad C = \mrm{colim}_{i\in I}\,C_i`$

余方程式の余解空間 $`C_i`$ も余極限だったので、さらに次のように書けます。

$`\quad C = \mrm{colim}_{i\in I}\,C_i = \mrm{colim}_{i\in I}(\mrm{colim}_{\mbf{PP}}\, \mrm{PPair}(f_i, g_i) )`$

余連立余方程式系の余解空間を求める操作は、繰り返し余極限〈iterated colimit〉を取ることなのです。

おわりに

連立方程式系の解空間を求めることには慣れている人が多いでしょう。慣れた行為の圏論的定式化である繰り返し極限は、比較的に納得しやすいでしょう。しかし、余連立余方程式系の余解空間を求めることは馴染みがないと思います。馴染みがないことの圏論的定式化である繰り返し余極限(その事例がコエンド)は難しいですよね。

難しい繰り返し余極限に親しむためのひとつの方法が、より馴染みがある繰り返し極限の双対として捉えることです。双対的対応をキッチリと追跡すれば、繰り返し余極限にも実感がわくでしょう。

*1:「平行」だと両端が一致する感じがしないので「並行」を使います。

*2:「共端」は、"parallel" の意訳です。

*3:実は、特殊事情にそれほど頼っているわけではありません。