本文へ移動
世界と暮らしの疑問を整理する知識ポータル
圏論入門

普遍性という、名前より役割で決める考え方 積・余積・自由対象を貫く圏論の発想

公開日 / 更新日

二つの集合AとBから「組の集合」を作ろうとすると、順序対(a, b)をどう符号化するかという問題が生じます。集合論では複数の作り方が可能で、見た目の異なる集合が同じ直積の役目を果たします。それでは、どれが本当のA×Bなのでしょうか。圏論の答えは少し意外です。中身を一つに決めるのではなく、AとBに対して何ができる対象なのかを指定します。

この指定の仕方が「普遍性」または「普遍性質」です。ある対象を材料や製法で説明せず、ほかのすべての候補との間にどのような射が存在し、それがなぜ一意になるのかによって特徴づけます。積、余積、終対象、自由対象、さらには数学の各所に現れる極限やテンソル積まで、表面の異なる構成を同じ原理で捉えられるのは、この発想があるためです。

「広く通用する」とは異なる数学上の普遍性

日常語の「普遍的」は、時代や場所を問わず広く当てはまることを表します。圏論の普遍性にも一般性はありますが、意味の中心はそこではありません。普遍的な対象とは、あらゆる候補から来る射、またはあらゆる候補へ向かう射を、一定の条件のもとでただ一通りに受け止める対象です。

したがって、最も大きい、最も便利、最も一般的といった評価を直接与える言葉ではありません。向きを決めた射の世界で、指定された問題に対する「唯一の受け皿」や「唯一の出発点」になることを意味します。何に対して普遍的なのか、どの圏で考えているのか、射に何を採用するのか。この三点を外すと、普遍性は抽象的な賛辞に変わってしまいます。

普遍性は対象だけに宿る性質でもありません。対象と、そこから出る射またはそこへ入る射を一組にした構造が条件を満たします。直積ならA×Bという対象だけでなく、AとBへの二本の投影が欠かせません。普遍的なのは、対象に構造射を添えた全体なのです。

製法ではなく利用条件を示す数学の仕様書

普通の定義は、対象の内部を記述することがあります。自然数をどう構成するか、順序対をどの集合として表すか、文字列をどのデータ構造に格納するか。こうした具体的構成は、対象が存在することを証明し、実際に計算するうえで必要です。

一方の普遍性は、完成品が外部とどう接続できるかを定めます。入力としてどの射を受け取り、そこからどの射が導かれ、その導き方が一つしかないことを要求する。この意味で、普遍性は実装ではなく仕様に近い考え方です。同じ仕様を満たす別の実装があっても、圏論が必要とする範囲では区別する理由がありません。

ただし、仕様という比喩だけでは不十分です。数学上の普遍性には、存在と一意性を証明する責任があります。「この対象なら望む操作ができそうだ」という説明では条件を満たしません。任意の候補を一つ取り、必要な射を実際に作れること、同じ条件を満たす別の射がないこと。この二段階が揃って初めて、役割による特徴づけが成立します。

存在と一意性を同時に求める仲介射

普遍性の定義には、しばしば「任意のXと条件を満たす射に対して、唯一の射uが存在する」という形が現れます。存在は、どの候補Xから来ても目的の対象へ接続できることを保証します。一意性は、その接続が曖昧でないことを保証する条件です。

存在だけなら、同じ目的を果たす射が何本もあり、構成を使うたびに選択が必要になります。一意性だけを述べても、該当する射が一本もなければ「二本以上はない」という条件を空虚に満たしかねません。必要なのは、少なくとも一本あり、多くても一本であること。合わせてちょうど一本になります。

この一本は、ほかの射との合成条件によって決まります。圏論は対象の内部へ入って要素を一つずつ調べる代わりに、図式を可換にする仲介射を探します。自然変換は、図式の可換性によって二つの道順が整合することを表します。普遍性ではさらに、その整合性を実現する射が唯一であることまで求めるのです。

終対象に凝縮された最も単純な普遍性

普遍性の最小形は終対象です。圏Cの対象1が終対象であるとは、Cのどの対象Xからも1へ向かう射がただ一つ存在することをいいます。対象1の内部がどう作られているかではなく、すべてのXからの射を一意に受け取る役割だけで定まります。

集合と関数の圏Setでは、一要素集合が終対象です。任意の集合Xから{★}への関数は、Xのすべての要素を★へ送るほかありません。関数は確かに存在し、選択の余地もないためです。{0}、{1}、{東京}のように要素の名前を変えても、どれも同じ役割を果たします。

この例だけでも、名前より役割という考え方が表れています。終対象は特定の一要素集合と等しい必要がありません。どの一要素集合も終対象になり、終対象どうしの間には構造と両立する唯一の同型があります。圏論が取り出すのは要素名ではなく、すべての射が一意に集まる位置です。

積を決める二本の投影と一意な仲介射

圏Cの対象AとBの積は、対象Pと二本の射 πA: P → AπB: P → Bから成ります。PをA×Bと書くことはできますが、記号だけでは積になりません。任意の対象Xと射 f: X → Ag: X → Bに対して、二つを同時にまとめる唯一の射 ⟨f, g⟩: X → Pが必要です。

πA ∘ ⟨f, g⟩ = fかつπB ∘ ⟨f, g⟩ = g
XからAとBへの情報は、積A×Bへの唯一の射にまとめられ、二本の投影によって元のfとgを再現します。

条件は πA ∘ ⟨f, g⟩ = fπB ∘ ⟨f, g⟩ = g です。XからPへ入れた情報をA側へ投影すればfになり、B側へ投影すればgになる。しかも、この二条件を満たすX → Pは⟨f, g⟩以外にありません。

SetではPを順序対(a, b)の集合として作り、⟨f, g⟩はxを(f(x), g(x))へ送る関数になります。しかし、この要素表示は普遍性の一つの実現方法にすぎません。二本の情報を失わず一意に束ねられる役割こそ、ほかの圏にも移せる積の本体です。

順序対の符号化に左右されない積の正体

集合論では、順序対(a, b)を{{a}, {a, b}}のような集合で表す方法があります。別の符号化を採用しても、第一成分と第二成分を取り出せて、任意のfとgを一つの関数へ束ねられるなら、直積として同じ働きをします。内部の要素は文字どおり同一でなくても構いません。

普遍性を満たす二つの候補PとQがあるとします。Pの普遍性をQへ適用するとQ → Pがただ一つ得られ、Qの普遍性をPへ適用するとP → Qがただ一つ得られます。二本を合成したP → Pは投影を保つため、同じ条件を満たす恒等射と一致しなければなりません。Q側でも同様です。

したがってPとQは、投影と両立する唯一の同型で結ばれます。これが「普遍的対象は一意である」の正確な内容です。対象が等号で一致するのではなく、普遍構造として一意な同型が定まる。製法の違いを残しながら、役割上の曖昧さだけを消しています。

矢印を反転して現れる和としての余積

積の矢印をすべて逆向きにすると、余積または圏論的な和が現れます。対象AとBの余積A⊔Bには、Aからの包含 ιA: A → A⊔B とBからの包含 ιB: B → A⊔Bがあります。任意のXへ向かう射f: A → Xとg: B → Xは、唯一の射[f, g]: A⊔B → Xへまとまります。

Setでの余積は、AとBの要素が同じ名前を持っていても出所を区別する直和、つまり非交和です。A側の要素には左の印、B側の要素には右の印を付けて一つの集合へ入れます。そこからXへの関数は、A上でf、B上でgとして振る舞うように一意に決まります。

積が「一つの入力からAとBへ同時に情報を送る」状況を束ねるのに対し、余積は「AとBという二つの入口から一つの出力へ進む」状況を束ねます。積と余積の違いは掛け算と足し算の記号だけではありません。仲介射がどちら向きに一意化されるかという、図式上の役割の違いです。

任意の写像を一意に延長する自由対象

自由対象にも同じ型の普遍性があります。集合Xから自由モノイドX*を作る場合、X*はXの要素からなる有限列全体とみなせます。演算は列の連結、単位元は空列です。各要素xを長さ1の列[x]へ送る写像 η: X → U(X*) を備えます。Uはモノイドから演算を忘れ、台集合だけを見る操作です。

任意のモノイドMと集合の写像 f: X → U(M) が与えられると、fを保つモノイド準同型 f̂: X* → M が唯一存在します。列[x1, …, xn]をf(x1)からf(xn)までの積へ送れば存在し、連結と単位元を保つ以上、ほかの値を選ぶ余地がないため一意になります。

「自由」という語は、何でも好きに振る舞えることではありません。Xに最初から課されていない関係を余分に加えず、Xから構造を持つ対象Mへのあらゆる写像を、構造を保つ射へ一意に延長できるという意味です。X*の具体的な作り方より、この延長の役割が自由モノイドを特徴づけます。

圏と射の選び方によって変わる普遍的な役割

普遍性は、対象だけを取り出して判定できません。同じ集合を扱っていても、射をすべての関数にするか、連続写像や準同型だけにするかで条件が変わります。Setの直積A×Bに位相を入れて位相空間の積にするなら、単に台集合が直積であるだけでは不十分です。

位相空間の圏Topでは、二本の投影が連続であり、任意の連続写像f: X → Aとg: X → Bを束ねた写像⟨f, g⟩も連続になる位相が必要です。この役割を満たすのが積位相です。集合として同じA×Bでも、別の位相を入れれば、Topにおける積の普遍性を失う場合があります。

順序集合を、x ≤ yのときだけxからyへの射がある圏とみなす例も示唆的です。二対象の積は、両方以下にある元のうち最大のもの、すなわち最大下界になります。Setでは順序対、Topでは積位相を持つ空間、順序の圏では最大下界。中身の似ていない対象が「積」と呼ばれるのは、同じ普遍的役割を担うからなのです。

普遍性が与える計算と証明の近道

対象が普遍性で特徴づけられていると、その対象から出る射や入る射を定める仕事が軽くなります。積A×Bへ射を作るなら、A成分とB成分を別々に指定すれば十分です。二つを束ねる射は普遍性によって存在し、その後の等式証明でも、二本の投影と合成した結果が一致すれば元の射も一致します。

自由モノイドから準同型を作るときも、すべての有限列に対する値を個別に決める必要はありません。生成元X上の写像を指定すれば、残りは演算を保つ条件によって一意に延長されます。巨大な対象全体への定義が、少数の構造射に関する条件へ縮約されるわけです。

ここに普遍性の実務的な力があります。対象の要素を展開して計算する代わりに、外部との接続規則を使って射を構成し、一意性を使って等しさを証明する。具体的な中身を無視するのではなく、中身に依存しない証明を可能にしています。

一意な同型まで含めて初めて決まる役割

普遍性による特徴づけは、「答えはだいたい一つ」という主張ではありません。構造射を保つ同型が存在し、その同型さえ一意になるところまで含みます。積なら、投影πAとπBを保つ同型です。対象だけを見て存在する多数の自己同型とは区別しなければなりません。

たとえば二要素集合には、二つの要素を交換する自己同型があります。しかし特定の二対象の積として投影を固定すると、投影を変えずに積を動かす自己同型は恒等射に限られます。普遍性の一意性は、対象の対称性をすべて消すのではなく、指定された役割を保ったまま残る曖昧さを消します。

この厳密さがあるからこそ、数学者は「積を一つ選ぶ」「自由対象を取る」と書き、具体的なモデルを毎回指定せずに議論できます。別のモデルへ取り替えても、普遍構造を保つ唯一の同型を通じて結果が移るためです。名前や符号化より役割を優先することは、曖昧に扱うことではなく、必要な同一性を強く指定することなのです。

普遍的な問題を一組の関手として捉える随伴

積、余積、自由対象には、任意の候補から来る射を一意に因数分解するという共通の形があります。一つずつ眺めるだけでも有用ですが、対象Aを変えるたびに普遍的な構成が連動して変わるなら、個別の対象を超えた仕組みが見えてきます。

自由モノイドの例では、集合Xを自由モノイドX*へ送る操作と、モノイドMから台集合U(M)を取り出す操作が向かい合います。そして、モノイド準同型X* → Mを与えることと、集合の関数X → U(M)を与えることが自然に一対一で対応します。この自然な一対一対応こそ、自由関手と忘却関手の随伴を与えます。

普遍性は、特別な対象に貼られた称号ではありません。どの射の問題を、その対象が一意に代表しているのかを示す方法です。具体的な製法から一歩離れ、存在と一意性を備えた役割へ目を移すと、積と自由対象のように別々に見えた構成が同じ設計原理のもとへ集まります。そして随伴は、その普遍的な対応を関手どうしの関係としてまとめ上げます。

参考資料

圏論 圏論の中心概念 圏論入門 数学の考え方 科学・技術のしくみ

圏論の中心概念の記事

現在のテーマに近い記事