圏論の教科書では、「積」を説明した直後に「余積」が現れます。積には二本の射が入ってくるのに対し、余積からは二本の射が出ていく。終対象と始対象、単射に似たモノ射と全射に似たエピ射にも、同じような対があります。用語を一組ずつ覚えるだけでは、なぜ数学がこれほど整然と対になっているのかが見えてきません。
その背後にあるのが「反対圏」と「双対性」です。ある圏の矢印をすべて逆向きにした世界を考えると、圏論の公理はそのまま成り立ちます。すると、一方の概念について証明した定理を、矢印の向きを入れ替えたもう一方の定理として再利用できるのです。ただし、関数を実際に逆転させるわけではありません。この違いを押さえると、反対圏は記号上の技巧ではなく、圏論の体系を半分の労力で見渡すための仕組みだと分かります。
対象を変えず、射の向きだけを反転する反対圏
圏Cがあるとき、その反対圏をCopと書きます。Copに登場する対象は、Cから一つも変わりません。違うのは射の向きであり、Cで f: A → B という射があれば、Copでは同じ射を fop: B → A として扱います。
式で書けば、CopにおけるAからBへの射の集まりは、CにおけるBからAへの射の集まりです。つまり、HomCop(A, B) = HomC(B, A)。対象の内部を作り替えたり、新しい対応を探したりする操作ではなく、もともとの射を反対側から記録し直しています。
道路網を反対向きに眺める比喩は、入口としては便利でしょう。しかし、現実の一方通行を逆走できる道路へ改造する話ではありません。「東京から大阪へ行ける」という経路を、大阪から東京への経路として新たに認めるのではなく、矢印を反転した別の形式的な世界を作るのです。CとCopを混ぜないことが、最初の要点になります。
逆関数や逆射とは異なる形式上の反転
反対圏で最も起こりやすい誤解は、すべての射に逆射ができると思うことです。関数 f: A → B に逆関数があるためには、fが全単射でなければなりません。一般の関数には逆関数がなく、圏の一般の射にも逆射があるとは限りません。
それでもCopでは、どの射にも向きを反転した表示があります。これは fop をCの内部でBからAへ進む射として追加したからではなく、Copという別の圏でそう定義したからです。たとえば、二つの要素を一つに潰す関数 f: {0, 1} → {★} に逆関数はありません。けれどもSetopでは、同じfが{★}から{0, 1}へ向かう射として表示されます。そこから0か1を選ぶ関数が生まれたわけではない点に注意が必要です。
逆射は一つの圏の中で合成すると恒等射になる相手です。反対圏は圏全体の見方を反転したもの。この二つは「逆」という日常語を共有していても、数学上の役割が違います。
反対向きの合成を成立させる順序の入れ替え
矢印を一本ずつ反転するだけでは、まだ圏になりません。圏論の合成が成立するよう、合成の順序も反転させる必要があります。Cで A →f B →g C と進み、合成が g ∘ f: A → C になるとしましょう。Copでは C →gop B →fop A と進むため、対応する合成は fop ∘ gop です。
したがって、(g ∘ f)op = fop ∘ gop となります。右辺でfとgの並びが逆になるのは、記法上の気まぐれではありません。逆向きの経路をたどれば、もとの経路で最後だったgから先に通るためです。
この定義なら結合律は保たれ、各対象の恒等射は向きを反転しても同じ対象から同じ対象へ戻ります。圏を作る二つの公理が矢印の反転に耐えるからこそ、Copも正真正銘の圏になるのです。
二度の反転で元の圏へ戻る仕組み
反対圏にもう一度同じ操作を施すと、(Cop)opになります。対象は初めから変わっておらず、射の向きは二度反転するため、行き着く先は元のCです。厳密には採用する定義によって「等しい」または標準的に同型と表現する場合があるものの、通常の扱いで両者を区別する必要はありません。
この往復可能性が双対性の土台です。ある定義の矢印をすべて逆向きにして別の定義を得たなら、その別の定義をもう一度反転すれば最初へ戻る。一方向だけの言葉の置き換えではなく、対等な二つの見方になっています。
しかも、反転しても対象の個数や射の対応関係は失われません。変わるのは「どこからどこへ」という方向です。圏論が対象の中身より射の配置を重視する数学だからこそ、方向だけを体系的に変える操作が大きな力を持ちます。
大小関係を圏にすると見える上限と下限の対称性
反対圏を直感的に確かめるには、順序集合が適しています。順序集合Pでは、x ≤ y のときに限ってxからyへ一本の射がある、と考えれば圏になるのです。この圏の反対圏では矢印が逆になるため、x ≤op y は、もとの順序で y ≤ x であることを意味します。小さいものから大きいものへ向いていた世界を上下逆さまにした順序、と考えるとよいでしょう。
すると、最小元は最大元へ、下限は上限へ入れ替わります。二つの要素に共通する最大の下界である「交わり」と、最小の上界である「結び」も双対な関係。数の大小を逆にしただけの例に見えて、始対象と終対象、積と余積が入れ替わる一般原理を最も簡潔に表した例といえるでしょう。
ここで大切なのは、上限と下限が偶然似ているのではないことです。順序を射として表し、その射をすべて反転すれば、一方の定義がもう一方へ移る仕組み。似た概念を後から組にしたのではなく、同じ構造を逆向きから見た結果なのです。
一つの証明から双対な定理を得る双対原理
圏、射、合成、恒等射だけを使って述べられた命題が証明できたとしましょう。その証明に現れる矢印をすべて逆向きにし、合成順を反転すると、双対な命題の証明が得られます。この手続きを支えているのが、圏論の双対原理です。
理由は、Cが任意の圏ならCopも圏だからです。すべての圏について成り立つ定理をCopへ適用し、その内容をCの言葉に戻せば、矢印を反転した定理になる。証明を省略して「双対的に成り立つ」と書けるのは、見た目が似ているからではなく、この論理的な手続きが背後にあるためなのです。
もっとも、双対原理が適用できるのは、矢印の反転に合わせて仮定も結論も正確に移した場合です。集合の要素や距離、加法といった圏の公理以外の構造を証明で使っていれば、その部分にも対応する双対化が欠かせません。「片方が正しいので、似た文も正しいだろう」という類推とはまったく異なります。
始対象と終対象を結ぶ射の向き
終対象Tとは、どの対象XからもTへ向かう射がただ一つ存在する対象です。Setでは一要素集合が典型であり、どの集合からも全要素を一つの点へ送る関数が一意に定まります。
この定義を反対圏で考えると、矢印の向きが逆になります。CopでTが終対象であることは、CではTから任意のXへ向かう射がただ一つあること。それはCにおける始対象の定義です。したがって、「Cの始対象」は「Copの終対象」と同じ役割を果たします。
Setの始対象は空集合です。空集合から任意の集合Xへの関数は、対応させる元が一つもないため一意に定まります。一要素集合と空集合は、中身だけを見れば似ていません。それでも、すべての射が入る場所と、すべての射が出る場所という双対な位置にあるのです。
積と余積を映し合う二つの普遍性
圏論の積は、対象AとBへの投影 πA: A × B → A、πB: A × B → Bを備えます。任意のXからAとBへ向かう二本の射があれば、それらを一つに束ねる唯一の射 X → A × B が存在する、という普遍性です。
矢印をすべて逆にすると、AとBからある対象へ入る二本の射と、それらを受けて任意のXへ出ていく唯一の射が現れます。これは余積 A ⊔ B の普遍性にほかなりません。積をCopで考え、Cの向きへ戻したものが余積です。
Xから来る二本の射を、積への一本に束ねる
AとBから出る二本の射を、余積からの一本に束ねる
図の形が左右対称に見えるだけでは、双対性の説明として十分ではありません。積に対する存在と一意性の条件をCopへ移すと、余積の存在と一意性の条件そのものになる点が本質です。可換図式に含まれる等式も、合成順を反転した等式として保たれます。
直積と直和に表れる「組」と「選択肢」の違い
Setにおける積A × Bは、Aの要素とBの要素を一つずつ組み合わせた順序対の集合です。XからA × Bへの関数を与えることは、XからAへの関数とXからBへの関数を一本ずつ与えることに相当します。一つの入力からA側とB側の情報を同時に取り出せる構造、と考えるとよいでしょう。
一方、Setにおける余積A ⊔ Bは、AとBを区別したまま並べた非交和。Aの要素には「A側」、Bの要素には「B側」という印を付けて一つの集合に収めます。A ⊔ BからXへの関数を与えるには、AからXへの関数とBからXへの関数をそれぞれ指定すれば足ります。
積が二種類の情報を一組として持つのに対し、余積は二種類の選択肢のどちらから来たかを保ちます。プログラミングの型でいえば、積型は「Aの値とBの値」、和型は「Aの値またはBの値」という対応関係。同じ二対象から作られても、射の向きが違えば、まとめ方の意味まで変わるのです。
モノ射とエピ射に現れる左と右の打ち消し
射 f: A → B がモノ射であるとは、任意の二本の射 g, h: X → Aについて、f ∘ g = f ∘ h なら g = h といえる条件です。fを左から合成した結果が同じなら、その手前も同じだったと判定できるわけです。Setでは、これが単射にほかなりません。
エピ射では向きが反対です。任意の g, h: B → Xについて、g ∘ f = h ∘ f なら g = h といえる射を指します。Setでは全射と一致するものの、ほかの圏で「エピ射は常に集合として全射」とは限りません。
Cでモノ射だったfをCopで見れば、打ち消し条件の左右が入れ替わり、エピ射になります。単射と全射が似た名前を持つから対になるのではなく、射の合成に関する二つの定義が持つ双対性。この見方なら、集合に固有の要素論へ頼らず、さまざまな圏で「埋め込みに似た射」と「商に似た射」を扱えるようになります。
引き戻しと押し出しを結ぶ同じ正方形
二本の射 A → C ← Bが同じ対象Cへ向かうとき、その情報を整合的に組み合わせる普遍的な対象が引き戻しです。集合なら、Aの要素aとBの要素bのうち、Cへ送った値が一致する組だけを集めた集合として表せます。
矢印を反転した A ← C → Bからは、AとBをCに関する同一視のもとで貼り合わせる押し出しが生まれます。引き戻しの可換な正方形を丸ごと反転すると、押し出しの正方形になるのです。積と余積より複雑に見えても、働いている双対原理は変わりません。
この対応は、極限と余極限というさらに大きな対へ広がります。積、終対象、等化子、引き戻しは極限側に、余積、始対象、余等化子、押し出しは余極限側へまとまる構図です。個別の構成を暗記する代わりに、どちら向きの射を集め、どちら向きに一意な仲介射が出るのかを確かめる方が、全体の関係をつかみやすくなるでしょう。
反変関手を通常の関手として扱うCop
反対圏は、矢印の向きを逆にする操作を「反変」という例外扱いから救い出します。Cの射 f: A → Bに対して、F(f)が F(B) → F(A) と逆向きになる対応には、反変関手という名前があります。これを正確に書けば、FはCからではなくCopから別の圏Dへ向かう通常の関手、すなわち F: Cop → D にほかなりません。
集合の冪集合を考えると、向きが反転する理由が見えてきます。関数 f: A → B があるとき、Bの部分集合Sは、その逆像 f−1(S)というAの部分集合へ戻されます。したがって、冪集合の対応 P(B) → P(A) は、もとのfとは逆方向。しかも、合成関数の逆像を取る順序まで反対になります。
線形代数の双対空間にも、同じ型が潜んでいます。線形写像 f: V → Wから、W上の線形汎関数をfと合成してV上の線形汎関数へ移す写像 f*: W* → V* が得られるわけです。「入力を先へ送る」のではなく、「観測や条件を手前へ引き戻す」とき、なぜ反対向きの関手が現れるのでしょうか。その理由が、射の向きに表れています。
環から空間へ向きが逆転するアフィンスキーム
反対圏は、既存の概念を対にするだけでなく、別分野の対象を結ぶ場面にも登場します。代数幾何では、可換環RからアフィンスキームSpec Rという幾何学的対象を作ります。ところが、環準同型 φ: R → S に対応するアフィンスキームの射は、逆向きの Spec S → Spec R。ここでも方向の反転が避けられません。
このため、アフィンスキームの圏は可換環の圏の反対圏と同値です。幾何学的な空間の上の関数は、空間の写像に沿って引き戻されるため、空間と関数環の向きが逆になるのです。反対圏という記法がなければ、この対応を使うたびに「射の向きだけは逆」と注記し続けなければなりません。
冪集合の逆像、双対空間、関数環はいずれも、対象に付随する情報を手前へ引き戻す例です。反対圏は、こうした反転を特殊事情として放置せず、通常の関手の言葉で扱えるようにします。
双対性が保証しない圏そのものの左右対称
双対原理があるからといって、すべての圏が自分の反対圏と同じ姿をしているわけではありません。Copは必ず作れますが、CとCopの間に圏同値が存在するとは限らないのです。圏が自分自身と双対になるには、それを実現する追加の対応が必要になります。
また、Cに積が存在するからといって、同じCに余積も存在するとは限りません。確実にいえるのは、Cの積がCopでは余積になることです。C自身の中に両方が揃うかどうかは、その圏について別に確かめなければなりません。
双対な概念は、日常語の意味まで正反対になるとも限りません。モノ射とエピ射を集合の単射・全射だけで理解すると、別の圏で性質がずれることがあります。双対化が反転するのは、あくまで対象と射、始域と終域、合成の左右、普遍性の向きです。
矢印を逆にして定義を確かめる四つの手順
ある概念の双対を確かめるときは、用語の対を先に暗記するより、定義そのものを反転させる方が確実です。まず、図式にあるすべての射を逆向きにします。次に、射の始域と終域を入れ替え、合成の順序も反対にする。最後に、反転後の存在条件と一意性条件が、どの既知の概念に一致するかを確かめます。
終対象なら「XからTへ唯一」が「TからXへ唯一」となり、始対象が現れます。積なら投影が包含へ変わり、仲介射の向きも反転して余積になる。モノ射の左消去は右消去へ移り、エピ射になります。結果だけでなく、どの矢印がどう変わったかを追えば、名前に惑わされません。
この習慣は、Hom関手、表現可能関手、ヨネダの補題、極限と余極限を理解するうえでも欠かせません。圏論では、一つの対象を「そこから出る射」で調べる見方と「そこへ入る射」で調べる見方が並びます。反対圏は、その二つを同じ形式の中で行き来するための基本装置なのです。
反対圏が明らかにする圏論の設計
反対圏の定義そのものは、対象を残して矢印を逆にするという短いものです。しかし、その短さから導かれるのは、始対象と終対象、積と余積、モノ射とエピ射、引き戻しと押し出し、極限と余極限という広い対応。一つの定理を証明すれば、双対な定理が形式的に得られることも、数学の体系として大きな利点でしょう。
同時に、反対圏は「矢印を見る数学」という圏論の性格を鮮明にします。対象が同じでも、射の方向を変えれば、普遍的な役割も、情報を運ぶ向きも変わるからです。圏論における双対性とは、何となく似た二つの概念を結ぶ比喩ではありません。方向を反転しても公理が保たれるという事実から生まれる、厳密で再利用可能な対称性です。