AからBへ進む矢印があり、BからCへ進む矢印があるなら、二つをつないでAからCへ進めます。地図の経路、関数の処理、論理の推論、プログラムの工程。どの例でも当たり前に見える操作です。しかし圏論は、この「つなげられる」という事実を脇役にせず、理論の中心へ置きます。
集合・図形・命題・プログラムでは矢印の意味が変わります。それでも圏として同じ舞台に上がれるのは、向きの合う矢印を合成し、一つの新しい矢印として扱えるからです。合成は、ばらばらの関係をネットワークへ変え、短い操作から長い操作を作り、別々の経路が同じ結果になるかを比較できるようにします。素朴な接続がなぜ強力なのか。その答えは、合成が世界を「部分の集まり」から「構成できる全体」へ変えるところにあります。
二本の矢印から第三の矢印を作る合成
射 f: A → B と射 g: B → C があるとき、圏には合成された射 g ∘ f: A → C があります。記号を右から左へたどるのは、最初にfを使い、その結果へgを適用するためです。fの終域Bとgの始域Bが一致していることが、接続の条件になります。
合成によって作られた g ∘ f は、補助的な略記ではありません。AからCへの正式な射です。二段階の変換を終えたあと、圏の外へ出て結果を解釈し直す必要はありません。合成の結果が、もう一度ほかの射と合成できる同じ種類の部品として戻ってくる。この閉じた構造が、操作を何段でも積み重ねられる理由です。
ただし、AからB、BからCという射があれば、AとCが同じ対象になるわけではありません。fやgに逆向きの射があるとも限らず、合成の途中で情報が失われる場合もあります。圏論が保証するのは可逆性ではなく、接続可能性です。この控えめな保証だけで、長い変換を組み立てるための土台が生まれます。
点と線のグラフを「経路の代数」へ変えるもの
いくつかの点を矢印で結んだ有向グラフには、出発点と到着点があります。しかし、グラフを描いただけでは、二本の矢印をつないだ経路を一本の矢印として扱う規則までは決まりません。AからB、BからCへ線が延びていても、「AからCへの経路」をグラフの構成要素として数えるかどうかは別の問題です。
そこで、向きの合う矢印をすべて連結し、長さ2、長さ3と続く経路を新しい射として加えます。各点には、どこへも進まない長さ0の経路も置きます。射の合成を経路の連結、長さ0の経路を恒等射とすれば、元のグラフから一つの圏を作れます。これは自由圏と呼ばれる基本的な構成です。
自由圏では、通った矢印の列が違えば、同じ出発点と到着点を持っていても別の射です。AからBを経てCへ行く経路と、AからDを経てCへ行く経路は区別されます。あとから二つを同じとみなす関係を加えることはできますが、最初は経路の履歴をすべて残します。合成は、点と線の図に「経路を作り、その経路をさらに計算する」という代数を与えるのです。
局所的な操作を部品として閉じ込める力
合成の実用的な強さは、二本の射の内部を同時に見なくても接続できる点にあります。fがAを受け取ってBを返し、gがBを受け取ってCを返すと分かれば、内部の計算手順をいったん隠して g ∘ f を作れます。必要なのは、接続面に当たるBが一致していることです。
たとえば、気温を摂氏から華氏へ変える関数と、華氏の値から警告レベルを決める関数を別々に設計できます。前者の計算式を変更しても、華氏を正しく返す限り、後者の内部まで作り直す必要はありません。二つを合成すれば、摂氏から警告レベルへ進む一つの処理になります。
この考え方は、数学の証明でも働きます。補題Aから補題Bを導き、補題Bから定理Cを導けるなら、二つの証明を接続してAからCへ進めます。各証明を局所的に確かめたうえで全体を構成できるため、巨大な証明を一度に抱える必要がありません。合成は複雑さを消しませんが、複雑さを接続可能な単位へ分けます。
始域と終域が担う接続口
どの射にも始域と終域が指定されるのは、合成の可否を決めるためです。AからBへの関数と、CからDへの関数を、理由もなく続けて適用することはできません。最初の出力Bを次の入力として受け取れる場合にだけ、二つの射は接続できます。
始域と終域は、射に付けられた説明札ではありません。プログラムなら入出力の型、論理なら前提と結論、経路なら出発地と到着地に当たります。接続口の型が明示されているから、意味のない合成を構文の段階で排除できます。圏論の図式で矢印の向きが重要なのは、視覚上の約束ではなく、合成可能性そのものを表すためなのです。
この条件は、合成がすべての射の組に対して定義される演算ではないことも示します。数の足し算なら、任意の二数を足せます。射の合成は、終域と始域が一致する組にしか使えません。部分的にしか定義されない演算でありながら、接続できる場所では一貫して働く。その制御された不自由さが、異なる型を持つ多数の対象を一つの構造に共存させます。
括弧を忘れられる結合律
三本の射 f: A → B、g: B → C、h: C → D をつなぐとき、先にfとgをまとめても、先にgとhをまとめても、最終的な射は同じになります。式で書けば、h ∘ (g ∘ f) = (h ∘ g) ∘ f。これが合成の結合律です。
結合律は、射の順番を変えてよいという法則ではありません。f、g、hの並びは保たれたまま、どのまとまりから計算してもよいと述べています。靴下を履いてから靴を履く順序は変えられませんが、「足を整えて靴下を履く」を一工程と数えるか、「靴下を履いて靴を履く」を一工程と数えるかで、最終状態が変わらないことに近いでしょう。
この法則があるため、射が十本、百本と続いても、括弧の付け方をすべて記録する必要がありません。長い合成を一つの射として扱い、必要な場所で部分へ分け直せます。大規模な構成を小さな部品から作るには、部品のまとめ方によって結果が揺れないことが欠かせません。結合律は、合成を拡張可能な設計原理にします。
ゼロ段階の操作を含める恒等射
圏の各対象Aには、AからAへ向かう恒等射 idA があります。どの射 f: A → B に対しても、f ∘ idA = f、idB ∘ f = f が成り立ちます。前後に「何もしない」操作を置いても、fは変わりません。
恒等射は、合成できる射が見つからないときの穴埋めではありません。経路なら一歩も進まない長さ0の経路、関数なら入力をそのまま返す恒等関数です。長さ0、長さ1、長さ2以上の経路を同じ仕組みで扱えるため、合成の例外を減らせます。整数の足し算における0と同じく、操作の体系を閉じる単位です。
また、恒等射があることで、対象そのものも合成の世界に位置づきます。射と合成だけを眺めても、どの射が恒等射として振る舞うかを調べれば、対象を見分けられます。圏論で対象と射が切り離せないのは、対象が矢印の端点であるだけでなく、固有の単位を持つ場所でもあるからです。
二つの経路を比較する可換図式
AからCへ至る道が一つとは限りません。AからBを経由する経路と、AからDを経由する経路があれば、それぞれを合成してAからCへの射を作れます。圏論では、二つの合成射が等しいかどうかを問えます。等しければ、どちらの経路を進んでも結果が一致するということです。
合成があるから、途中の異なる二経路を「AからCへの射」という同じ水準へそろえ、等しいかどうかを比較できます。
この一致を図で表したものが可換図式です。可換図式は、線がきれいにつながったイラストではありません。異なる経路に沿って射を合成した結果が等しいという方程式を、空間的に配置した記法です。合成がなければ、隣り合う矢印を個別に比べることしかできず、経路全体の一致を述べられません。
データ処理なら、二つの変換手順が同じ出力を与えること。論理なら、異なる証明の連鎖が同じ推論として認められること。座標変換なら、別の中間座標系を経由しても最終座標が一致することです。可換性は、複数の設計や説明が互いに矛盾せず、一つの構造として整合していることを示します。
関数・推論・プログラムに共通する連鎖
集合の圏では、合成は関数を続けて適用することです。位相空間の圏では、連続写像を合成すると再び連続写像になります。命題と推論の圏なら、PからQ、QからRへの推論をつないでPからRを導けます。型付きプログラムでは、出力型と入力型の合う関数を接続して新しい処理を作ります。
ここで共通しているのは、「何かを二回行う」という表面的な動作だけではありません。合成後も、その世界で正当な射として残ることが重要です。連続写像を二つつないだ結果が連続でなくなるなら、位相空間と連続写像は圏を作れません。妥当な推論をつないだ結果が妥当でなくなる論理も、同じ枠組みには入りません。
つまり、圏を成り立たせる合成は、その世界で守りたい構造が連鎖を通じても保存されるという宣言です。個々の射が正しいだけでなく、正しい射をつないだものも正しい。この安定性によって、短い構成について得た知識を、長い構成へ拡張できます。
一つの対象だけでも生まれる合成の世界
合成の力は、対象が一つしかない圏を見ると、さらに明確になります。対象を一つだけ置き、その対象から自分自身へ向かう射を多数用意します。どの二本も始域と終域が同じなので、すべて合成できます。結合律と恒等射を満たすこの構造は、代数学でモノイドと呼ばれるものです。
自然数を射、足し算を合成と考えてみましょう。対象は記号 * 一つだけで、自然数nを * → * という射として扱います。射mとnの合成はm+n、恒等射は0です。足し算の結合律と、0を足しても変わらない性質が、そのまま圏の公理になります。
この例には、対象間の移動という見た目さえありません。それでも、射を合成する規則だけで豊かな代数構造が現れます。圏は「ものを矢印で結んだ図」にとどまらず、型の付いた合成を一般化したものだと分かります。対象が多い圏は、どの射どうしを合成できるかを始域と終域で制御する、多対象版の代数と見ることもできるのです。
合成を保つ翻訳としての関手
圏から別の圏へ構造を移す関手は、対象と射を対応させるだけでは足りません。合成された射 g ∘ f を移した結果が、移したgとfを合成したものに一致する必要があります。恒等射も恒等射へ送られます。関手が保つべき中心に、合成と単位があるのです。
この条件がなければ、個々の射を別世界へ移せても、長い経路の意味が途中で変わってしまいます。局所的な対応が正しく見えても、二段、三段と接続したときに整合しません。関手が合成を保つから、ある圏で作った構成を別の圏へ運び、運んだ先でも同じ順序で組み立て直せます。
圏論が異なる数学分野の翻訳に使える背景には、この厳しい条件があります。似た対象を対応させるだけではなく、変換の連鎖そのものを保存する。合成は圏の内部を一つにまとめるだけでなく、圏と圏を結ぶ翻訳が正しいかを測る基準にもなります。
複雑さを接続可能な部分へ分ける圏論
AからB、BからCへ行けるならAからCへ行ける。この条件が強力なのは、到達範囲が広がるからだけではありません。局所的な操作を独立に作り、接続口が合うものを組み合わせ、結果を再び一つの部品として使えるからです。結合律は部品のまとめ方による揺れをなくし、恒等射は何もしない場合まで同じ体系へ収めます。
さらに、合成によって異なる経路を同じ始点と終点へそろえられるため、可換図式として比較できます。正しい射をつなげても正しさが保たれるので、短い証明や処理から長い構成を築けます。一つの対象しかない場合でさえ、合成はモノイドという代数を生みます。
圏論が世界を一つの構造にするとは、あらゆる対象を同じものに変えることではありません。点在する対象と射を、合成によって閉じた構成の体系へまとめることです。個々の矢印より、その矢印をどこまでつなげ、つないだ結果をどう比較できるか。圏論の中心に合成があるのは、部分から全体を作る力が、そこに凝縮されているためなのです。