いくつかの文字から単語を自由に作り、その単語を別の計算規則へ送りたい場面を考えてみましょう。文字aを要素mへ、文字bを要素nへ対応させれば、単語abaの行き先はm・n・mと決まります。文字ごとの対応だけで、連結を保つ写像が単語全体へ一意に広がるのです。
普遍性によって特徴づけられる自由対象には、「任意の写像を、構造を保つ射へ一意に延長できる」という性質があります。随伴は、この一回ごとの延長を、二つの圏を結ぶ関手どうしの関係へ引き上げます。構造を自由に作る操作と、構造を忘れて素材だけを見る操作。その間で二種類の射が自然に一対一対応するとき、離れた世界が一組の設計原理で結ばれるのです。
二つの圏で同じ問題を言い換える随伴
圏Cから圏Dへの関手Fと、圏Dから圏Cへの関手Gを置きましょう。Cの対象XとDの対象Yのすべてについて、Dにおける射 F(X) → Y とCにおける射 X → G(Y) が自然に一対一対応するとき、FはGの左随伴です。記号では D(F(X), Y) ≅ C(X, G(Y)) と書き、F ⊣ G で表します。
左右の式は、同じ射を別の記号で書いたものではありません。定義域も終域も、属する圏さえ異なります。それでも一方を指定すれば他方がただ一つ定まり、逆向きにも戻せる。随伴は、対象そのものを一致させるのではなく、対象間にどのような射を引けるかという問題を翻訳します。
ここで「自然に」という条件が不可欠です。XやYごとに同じ個数の射があるだけでは、恣意的な番号付けによる一対一対応も作れてしまいます。XまたはYを射で動かしたとき、対応する射も合成と矛盾せずに動くこと。自然変換で確かめた道順の整合性が、随伴の定義にも組み込まれています。
文字列を作る自由関手と構造を外す忘却関手
集合と関数の圏Set、モノイドとモノイド準同型の圏Monを例に取りましょう。モノイドとは、結合律を満たす二項演算と単位元を備えた集合を指します。代表例は、自然数と足し算、文字列と連結です。
関手F: Set → Monは、集合XをXの要素からなる有限列全体X*へ送ります。演算は列の連結で、単位元は空列。関数h: X → X’には、列の各文字へhを適用するモノイド準同型F(h): X* → X’*が対応します。対象だけでなく射にも一貫して作用するからこそ、自由モノイドの構成は関手になるのです。
反対向きの関手U: Mon → Setは、モノイドMから演算と単位元をいったん脇へ置き、要素の集合U(M)だけを取り出します。準同型について残るのは、台集合の間の関数。構造を破壊して何も残さないのではなく、構造付きの世界から、より少ない条件で射を扱う世界へ移す操作です。
生成元への関数と準同型を結ぶ一対一対応
集合XからモノイドMの台集合への関数 f: X → U(M) を一つ選びます。fはXの各要素をMの要素へ送るだけで、連結を保つという条件をまだ持ちません。しかし自由モノイドF(X)の列[x1, …, xn]を、Mの積f(x1)・…・f(xn)へ送れば、準同型 f̂: F(X) → M へ延長できます。
X → U(M)
生成元xの行き先f(x)を決める
≅
延長 ↔ 制限
F(X) → M
有限列の連結を保つf̂が決まる
延長が一意になるのは、準同型が連結と単位元を保たなければならないからです。各一文字の列[x]の値がf(x)に決まれば、長い列の値はそれらの積以外に選べません。逆に、準同型F(X) → Mを一文字の列だけに制限すれば、X → U(M)という関数が得られます。
延長してから制限すれば元のfへ戻り、制限してから延長しても元の準同型へ戻ります。したがって Mon(F(X), M) ≅ Set(X, U(M))。この対応によって、自由関手Fは忘却関手Uの左随伴、UはFの右随伴になります。
個別の普遍性を一斉に束ねる自然性
XとMを固定すれば、自由モノイドの普遍性だけで一対一対応を作れるでしょう。しかし、随伴が捉えるのは、XとMを動かしても崩れない整合性です。関数h: X’ → Xで生成元を置き換えてからfを延長しても、fを延長した準同型へF(h)を先に合成しても、F(X’) → Mという同じ準同型になります。
M側でも事情は変わりません。モノイド準同型k: M → Nがあるとき、fをMへ延長してからkを合成する道と、生成元の行き先をU(k)でNへ移してから延長する道は一致します。一対一対応は、XとMの名前や要素の偶然に依存せず、両方の圏の射に沿って動くのです。
この二変数に関する自然性によって、無数の普遍的対応が一つの構造へまとまります。対象ごとに別々の便利な定理があるわけではありません。FとUという関手全体が随伴しており、普遍性を圏全体へ連続的に並べた姿といえるでしょう。
左随伴と右随伴にある向きの違い
F ⊣ Gという記号には向きがあります。Fは左随伴、Gは右随伴です。自由・忘却の例では、Fが構造を自由に加え、Uがその構造を忘れます。この印象から「左は作る側、右は忘れる側」と覚えたくなりますが、すべての随伴を説明する定義ではありません。
左右を決めるのは、射の対応 D(F(X), Y) ≅ C(X, G(Y)) のどこに関手が現れるかです。F(X)は左辺の射の始域、G(Y)は右辺の射の終域という配置。ここから、左随伴が余積などの余極限を保ち、右随伴が積などの極限を保つという性質も導かれます。
また、随伴関係は一般に左右対称ではありません。FがGの左随伴だからといって、GがFの左随伴になるわけではないのです。「対称性」と呼びたくなるのは二種類の射が対応する点であり、二つの関手が同じ役割を担うという意味ではありません。
作ってから忘れた素材へ入る単位
随伴F ⊣ Gには、単位と呼ばれる自然変換 η: IdC ⇒ GF が伴います。Cの対象Xごとに、元のXから、FでDへ移し、GでCへ戻したG(F(X))への射 ηX: X → G(F(X)) が得られます。
自由モノイドでは、ηX: X → U(F(X))はxを一文字の列[x]へ送る関数にほかなりません。Xから作られた自由モノイドには空列や長い列も含まれるため、U(F(X))は普通、元のXより大きな集合です。単位が示すのは両者の同一視ではなく、素材Xが自由に作られた構造のどこへ入るかという位置なのです。
この一文字への埋め込みが、すべての延長の起点です。f: X → U(M)に対応する準同型f̂は、U(f̂)とηXを合成するとfになるように定まります。単位とは、自由対象の普遍性を対象Xごとに代表する射にほかなりません。
忘れてから作り直した構造を戻す余単位
反対側には、余単位 ε: FG ⇒ IdD があります。Dの対象Yについて、GでCへ移し、FでDへ作り直したF(G(Y))から、元のYへの射 εY: F(G(Y)) → Y が与えられます。
モノイドMでは、いったん演算を忘れてU(M)という集合を取り、そのすべての要素を文字とする自由モノイドF(U(M))を作ります。これは元のMよりはるかに大きく、Mではすでに等しかった積も、形式的な列として別々に残ったまま。余単位εMは、その列[m1, …, mn]をMで実際に掛け合わせたm1・…・mnへ送ります。
余単位は、作り直した形式的構造を元の意味で評価する準同型です。単位が素材を一文字として構造へ入れるのに対し、余単位は形式的に並んだ文字を既存の演算で解釈します。二つは直接の逆射ではありません。別の圏に属しながら、随伴の往復を制御する一対なのです。
余分な往復を消去する二つの三角恒等式
単位と余単位を持つだけでは、二つの関手が随伴しているとは限りません。両者には三角恒等式という二つの整合条件が必要です。一つは εF(X) ∘ F(ηX) = idF(X)、もう一つは G(εY) ∘ ηG(Y) = idG(Y) です。
自由モノイドF(X)の列を考えます。各文字を一文字の列へ入れ直し、それらを並べた「列の列」を作ったあと、余単位で平らな列へ評価すると、最初の列へ戻ります。これが第一の三角恒等式です。余計な包装を一段加えてから取り除いても、結果は変わりません。
第二の式では、モノイドMの要素を一文字の形式列として入れ、その列をMの演算で評価します。一文字しかないため、元の要素以外にはなりません。三角恒等式が保証するのは、作る操作と戻す操作が完全な逆であることではなく、対応に必要な回り道だけが恒等射へ縮むことです。
随伴と逆関数・圏同値を分ける決定的な違い
FとGが随伴しても、G(F(X))がXと同じになるとは限らず、F(G(Y))がYと同じになるとも限りません。自由モノイドの例では、U(F(X))にはXになかった長い列が増えます。F(U(M))には、Mでは演算によって一つの要素にまとまるはずの形式列が大量に残ります。
単位ηや余単位εが一般に同型でないことが、この差を表しています。両方が自然同型になる特別な随伴は圏同値を与えますが、通常の随伴はもっと緩やかな関係です。情報を増やす構成や忘れる操作を含みながらも、射の問題だけは損失なく往復できる。その範囲を正確に切り出しています。
したがって、随伴を「作ることと忘れることが打ち消し合う」と説明するだけでは十分ではありません。対応するのは対象そのものではなく、自由に作った対象から構造付き対象への射と、素材からその台集合への射です。問いと答えは対称的に見えても、対象の情報量は左右で異なります。
離散・忘却・密着位相に現れる二重の随伴
集合Sに離散位相を入れる関手D: Set → Topを考えます。離散空間D(S)ではすべての部分集合が開いているため、D(S)から任意の位相空間Tへの関数はすべて連続です。そこで得られる射の対応が Top(D(S), T) ≅ Set(S, U(T))、すなわち D ⊣ U。
今度はSに密着位相、つまり空集合とS全体だけが開集合である位相を入れる関手Iを考えます。任意の位相空間TからI(S)への関数はすべて連続なので、Set(U(T), S) ≅ Top(T, I(S)) が成り立ちます。こちらの関係は U ⊣ I。
三つを並べると D ⊣ U ⊣ I になります。同じ忘却関手Uが、Dとの関係では右随伴、Iとの関係では左随伴になる点に注目してください。離散位相は出発点からの連続写像を最も自由にし、密着位相は到着点への連続写像を最も自由にします。随伴の左右を決めるのは「作る」「忘れる」という動詞ではなく、どちら向きの射を一対一にするかなのです。
左随伴が余積を、右随伴が積を保つ理由
随伴には、構成を調べる際の強力な原則があります。左随伴は、存在する余積、始対象、余等化子などの余極限を保ち、右随伴は積、終対象、等化子などの極限を保ちます。個別の関手について、毎回ゼロから保存性を証明する必要はありません。
自由モノイド関手Fは左随伴なので、集合の非交和をモノイドの余積へ送ります。一方、忘却関手Uが右随伴として保つのは積にほかなりません。二つのモノイドの積を作ってから台集合を見ることと、先に二つの台集合を取り出して直積を作ることが一致するのは、この一般原則の一例にあたります。
左右で保存するものが異なるのは偶然ではありません。左随伴の射の対応は、作った対象から外へ出る射を扱い、余極限の普遍性と同じ向きを持ちます。右随伴は外から対象へ入る射を扱い、極限の普遍性と同じ向きです。随伴は、普遍構成がどちら向きの合成と相性がよいかまで教えます。
普遍的な構成を発見するための随伴
随伴関手は、ダニエル・カンが1958年の論文「Adjoint Functors」で体系的に導入しました。その後、代数、位相幾何、論理、解析、計算機科学など、異なる領域に繰り返し現れる基本構造になりました。広く使われる理由は、用語が抽象的だからではなく、多数の普遍的構成を一つの射の対応として扱えるためです。
自由モノイド、離散位相、積と対角関手、テンソル積とHom。具体的な対象は違っても、一方の圏で射を作る問題が、他方の圏でより扱いやすい射を作る問題へ変わる場面があります。その対応が対象の変更と整合し、自然な一対一になるとき、背後に随伴を探せます。
随伴が示す「作ることと忘れることの対称性」とは、二つの操作が互いを完全に消すことではありません。構造を加えた世界での射と、構造を外した世界での射が、普遍性によって過不足なく対応することです。対象の中身を無理に同一視せず、異なる二つの世界で立てた問いを同じ答えへ結び付ける。その精密な翻訳こそ、随伴が圏論の山場とされる理由なのです。