圏論の入門では、「対象があり、対象の間に射がある」と説明されます。対象は点、射は点を結ぶ矢印として描かれるため、最初は対象のほうが主役に見えるでしょう。ところが、圏論の本領は矢印にあります。この主役交代こそ、圏論が難しく見える理由の一つです。対象が何でできているかを詳しく調べる前に、どこから矢印が入り、どこへ出ていくのか、それらをどうつなげられるのかを確かめるからです。
圏を成り立たせる基本要素は、対象、射、合成、恒等射の四つです。ただし、この四語を辞書のように覚えても、圏論独特の見方はつかめません。駅と路線、集合と関数、言語間の翻訳を例にすると、定義の背後に一つの問いが浮かびます。二つの経路、二つの変換、二つの対象を、何が成り立てば「同じ」とみなせるのか。圏論の公理は、その判断を曖昧にしないための最小限の仕組みなのです。
圏を形づくる四つの要素と二つの法則
圏には、まず対象の集まりがあります。対象Aから対象Bへ向かう射を f: A → B と書き、Aを始域、Bを終域と呼びます。ここで大切なのは、射が必ずしも数を別の数へ移す関数とは限らないことです。連続写像、群準同型、順序関係、証明など、何を射として採用するかは圏ごとに決まります。
射 f: A → B と射 g: B → C があれば、二つをつないだ射 g ∘ f: A → C を作れます。これが合成です。さらに、どの対象Aにも、AからAへ向かって何も変えない恒等射 idA が用意されます。四つの要素を並べただけでは、まだ圏にはなりません。合成の括り方を変えても結果が同じになる「結合律」と、恒等射を前後に合成しても元の射が変わらない「単位律」が必要です。
この定義は短いものの、余計な条件が省かれています。すべての対象間に射がある必要はなく、一本の射に逆向きの射があるとも限りません。二つの射の順番を入れ替えられるとも述べていないのです。圏論が保証するのは、向きの合う射をつなげられ、そのつなぎ方が一貫していること。制約が少ないからこそ、異なる数学の分野が同じ枠組みに入ります。
駅と路線に置き換えた対象・射・合成
駅を対象、駅から駅へ移動する経路を射と考えてみます。東京から名古屋へ向かう経路を f、名古屋から京都へ向かう経路を g とすれば、名古屋で乗り継ぐことによって、東京から京都への経路 g ∘ f ができます。射の記号を右から左へたどるのは、先に f、次に g を実行するためです。
各駅にとどまる経路が恒等射です。移動の前後に加えても、全体の経路は変わりません。
この図で、駅名や駅舎の構造はほとんど使われていません。必要なのは、経路の出発点と到着点、そして乗り継ぎが可能かどうかです。名古屋に到着する f と、名古屋から出発する g は合成できますが、京都から大阪へ向かう経路を f の直後につなぐことはできません。終域と始域が一致しないからです。
もちろん、現実の鉄道網がそのまま圏になるわけではありません。時刻が合わなければ乗り継げず、運休や遅延も起こります。経路に時刻を含めるのか、線路のつながりだけを見るのか、運賃や所要時間まで記録するのかによって、射の意味は変わります。この例の価値は、駅を点として覚えることではなく、「何を一つの経路と数えるか」を先に決めなければならないと分かる点にあります。
同じ駅の集まりから生まれる異なる圏
東京、名古屋、京都という対象が同じでも、射の選び方によって別の圏を作れます。実際に利用できる列車一本ずつを射にするなら、出発時刻や列車番号の違う経路は別の射です。通過する駅の列を射にすれば、同じ二駅を結ぶ直通経路と乗換経路は区別されます。一方、「到達できるかどうか」だけを残すなら、二駅の間に何通りの経路があっても、射は高々一本で足ります。
最後の見方では、東京から京都へ行く方法が新幹線でも在来線でも、「到達可能」という一つの関係にまとめられます。最初の見方では、列車や乗り継ぎの違いが情報として残るでしょう。対象の一覧だけを見れば同じ鉄道網ですが、圏としては同じではありません。何を射とし、どの射を同じと数えるかによって、保存される情報が違うためです。
圏論で「矢印を見る」とは、対象を軽視することではありません。対象と一緒に、正当な変換の範囲を明示するという意味です。群を対象にする場合も、あらゆる関数を射にするのか、演算を保つ群準同型だけを射にするのかで理論の性格が変わります。対象が名詞なら、射はその世界で許される動詞に当たります。同じ名詞を並べても、使える動詞が違えば語れる内容は変わるのです。
集合と関数が示す射の厳密な姿
最も基本的な例は、集合を対象、関数を射とする圏です。関数 f: A → B には、入力を受け取る集合Aと、出力が属する集合Bが指定されています。Aの各要素に対して、Bの要素を一つずつ対応させる規則が射になります。式が書かれているだけでは足りず、始域と終域まで含めて初めて一つの関数が定まります。
実数から実数への二つの関数 f(x) = (x + 1)2 と g(x) = x2 + 2x + 1 を考えてみましょう。式の見た目は違いますが、どの実数を入れても同じ実数が返ります。始域と終域も同じなので、関数としては f = g です。反対に、同じ式 x2 を使っていても、実数から実数への関数と、整数から整数への関数は始域が違うため、同じ射ではありません。
ここには、圏論における同一性の基本があります。射が同じかどうかは、呼び名や書き方ではなく、その圏で射を構成するデータによって決まります。集合の圏なら、始域、終域、各入力に対する出力です。駅の圏なら、採用した定義に応じて列車番号、経由地、あるいは到達可能性が判断材料になります。「同じ矢印」の意味は、圏を定めるときにすでに選ばれているのです。
合成を可能にする始域と終域の一致
関数の合成では、最初の関数の出力を、次の関数の入力として渡します。社員番号を社員名へ変換する関数と、社員名をメールアドレスへ変換する関数があれば、社員番号からメールアドレスを得る関数を作れます。ただし、二つ目の関数が郵便番号を要求するなら、そのままでは接続できません。データの型が合わないためです。
圏論の矢印に始域と終域が必ず付くのは、合成できる組み合わせを明確にするためです。矢印を単なる「関係」の記号だと思うと、この型の条件を見落としやすくなります。f: A → B と g: B → C から作られるのは g ∘ f: A → C であり、順番は自由ではありません。f ∘ g が意味を持つには、gの終域とfの始域が別に一致している必要があります。
したがって、合成は足し算のような可換な操作ではありません。靴下を履いてから靴を履く操作と、靴を履いてから靴下を履く操作が同じにならないのと同様に、変換の順序には意味があります。圏論が要求するのは順序の交換ではなく、次に見る結合律です。この二つを混同しないことが、矢印の計算へ入る最初の要点になります。
長い変換を一つの射にまとめる結合律
f: A → B、g: B → C、h: C → D という三本の射をつなぐとき、先に g ∘ f を作ってからhを合成しても、先に h ∘ g を作ってからfを合成しても、最終的な射は同じになります。式では h ∘ (g ∘ f) = (h ∘ g) ∘ f。これが結合律です。
駅の例なら、東京から名古屋、名古屋から京都、京都から大阪という移動を、どこで一区切りにしても、東京から大阪まで順番にたどる事実は変わりません。関数なら、三段階のデータ変換をどの二段から先に一つの処理としてまとめても、同じ入力から同じ出力へ到達します。結合律があるため、四本、五本と射が続いても、括弧を省いて一本の長い合成として扱えます。
これは計算上の小さな約束ではありません。複雑な仕組みを部品に分け、あとから組み直せることを保証します。どこまでを一つの部品としてまとめるかによって結果が変わるなら、局所的に作った変換を再利用できません。圏論がさまざまな分野で合成を重視するのは、全体を接続可能な部品から組み立てるための土台になるからです。
「何もしない」を正式な射にする恒等射
恒等射は、AからAへ向かい、Aを何も変えない射です。集合Aなら、どの要素もそのまま自分自身へ送る恒等関数になります。駅の例では、その駅から動かずにとどまる経路です。操作をしないのなら省いてもよさそうですが、恒等射がなければ合成の体系に穴が開きます。
射 f: A → B の前に idA を置いても、後ろに idB を置いても、結果はfのままです。数の掛け算における1、文字列の連結における空文字列のように、何も変えずに操作の単位となります。経路を一本も進まない場合を「長さゼロの合成」として扱えるため、ゼロ段階、1段階、多段階の変換を同じ言葉で記述できるのです。
さらに、恒等射は対象を矢印の世界へ映し出します。各対象には固有の恒等射があり、恒等射は合成に対する振る舞いによって見分けられます。そのため、射と合成の全体が分かれば、どの射が恒等射なのかを特定し、そこから対象を捉え直せます。対象より矢印が主役だという考えは、単なる比喩ではありません。対象の情報さえ、矢印の代数のなかに刻まれているのです。
翻訳の比喩が突きつける「同じ訳」の条件
言語を対象、ある言語から別の言語への翻訳を射と考えると、合成の意味を身近に想像できます。日本語から英語への翻訳と、英語からポルトガル語への翻訳を続ければ、日本語からポルトガル語への翻訳が得られます。同じ言語の文章をそのまま保つ操作は恒等射に相当するでしょう。
ただし、日常の翻訳をそのまま射にすると、すぐに難問が生じます。一つの文に複数の適切な訳があり、文脈によって語の選択も変わるからです。英語を経由した訳と、日本語から直接作った訳が、文字列として完全に一致するとは限りません。意味が近ければ同じとするのか、語調や含意まで保存した場合だけ同じとするのか。判定基準を定めないままでは、「二つの翻訳が同じ射である」とは言えません。
この限界こそ、翻訳の例が教える重要な点です。圏論は、似ているものを雰囲気で同一視する理論ではありません。何をデータとして残し、どの変換を許し、どの結果を等しいとするかを先に定めます。自然言語の翻訳を厳密な圏として扱うなら、文章や意味表現のモデル、翻訳規則、同一性の条件まで設計しなければなりません。比喩から数学へ移る境目は、「同じ」の基準を明示できるかどうかにあります。
可逆な矢印によって結ばれる同型
射の同一性が定まると、対象同士の「同じ」も矢印で表せます。対象AからBへの射 f と、BからAへの射 g があり、往復するとそれぞれの恒等射になるとき、AとBは同型です。つまり g ∘ f = idA、かつ f ∘ g = idB が成り立ちます。fは情報を失わず、gによって完全に戻せる変換です。
三つの要素を持つ集合 {赤、青、緑} と {1、2、3} は、要素の名前が違うため等しい集合ではありません。それでも赤と1、青と2、緑と3を対応させれば、逆向きにも戻れる一対一対応ができます。集合の圏では、この可逆な関数が同型です。要素の名前を除けば、三要素の集合として同じ構造を持つと判断できます。
別の圏では、可逆であるために保存すべきものが増えます。群なら演算を保つ準同型、位相空間なら連続写像が射なので、単なる一対一対応だけでは同型になりません。圏が変われば、同じとみなすために守るべき構造も変わるわけです。圏論は対象を無差別に同一視するのではなく、選ばれた射を通して、その分野にふさわしい同一性を定めます。
矢印の全体から浮かび上がる対象の姿
一つの対象Aを知るために、Aの内部を開く代わりに、ほかのすべての対象からAへ入る射と、Aから外へ出る射を調べることができます。どこから到達でき、どこへ移れ、射を合成するとどう振る舞うのか。その関係網は、圏のなかでAが果たしている役割を詳細に記録しています。
この発想を精密にした結果の一つが、圏論の中心定理である米田の補題です。大まかに言えば、対象へ向かう射、または対象から出る射の体系を、合成の仕方まで含めて調べれば、その対象を同型の違いを除いて捉えられます。対象の中身を直接記述しなくても、あらゆる相手との関係が対象を語るのです。
ここまで来ると、「対象より矢印を見る」という表現の意味が変わります。対象を点へ押しつぶして情報を捨てるのではありません。対象がほかの対象に対して何ができるか、何を受け取れるかという形で情報を組み直します。内部の材料ではなく、変換可能性の全体から対象を特徴づける。それが圏論の構造的な視線です。
圏論が問い直す「何を同じとみなすのか」
対象、射、合成、恒等射は、圏論の用語集を作るために並んでいるのではありません。射に始域と終域を持たせることで、何と何を接続できるかが決まります。結合律は長い変換を安定して組み立てられるようにし、恒等射は「何もしない」場合まで合成の体系へ収めます。四つを一組で考えて初めて、矢印が計算できるものになります。
そして、圏を一つ定めるたびに、同一性の基準も定まります。どの経路を別々に数えるのか、どの関数を同じとするのか、どの構造を保つ変換だけを認めるのか。射の等しさが定まれば、可逆な射を通して対象の同型を語れます。圏論にとって「同じ」は、見た目が似ているという感想ではなく、合成と恒等射を使って確かめられる数学的な主張です。
ものの正体を知るために、その内側を詳しく調べる方法は今後も欠かせません。圏論が加えたのは、別の問いです。そのものは何と結ばれ、どのような変換を受け入れ、何へ移れるのか。対象を取り囲む矢印へ視線を移すと、異なる材料からできたものの間にも、同じ構造が現れます。圏論は、その一致を見つけるだけでなく、どの意味で同じなのかを最後まで言葉にする数学なのです。