順序集合をやせた圏とみなした場合の圏論的随伴系をガロア接続〈Galois connection〉と呼びます。ガロア接続を主題的に扱った過去記事に次があります。
一般的な随伴系〈関手の随伴ペア〉、ベクトル空間の双対ペア、ガロア接続の三者を比較して扱っている記事として:
これらの記事では出してなかった、ガロア接続の簡単な例を挙げます。簡単な事例を吟味することは、理解の助けになると思います。
内容:
順序集合と圏
順序集合の言葉使いと圏論の言葉使いの対応(翻訳の手引き)は次のようです。
順序集合 A | 圏 A |
要素 a | 対象 a |
関係 a≦b | 射 a→b |
関係 a≦a (反射性) | 恒等射 ida |
関係の推移 | 射の結合 |
単調写像 f:A→B | 関手 f:A→B |
関係 f≦g :A→B | 自然変換 f⇒g:A→B |
順序集合の圏 Ord | 圏の圏 Cat |
Aを順序集合、a, b∈A として、圏のホムセットに相当する集合を A(a, b) と書きます。
- a≦b のとき、A(a, b) = {(a, b)}(単元集合)
- そうでないとき、A(a, b) = 空集合
順序集合(である圏)では、2つの対象を結ぶ射は、多くとも1本です。
ミート
Aを順序集合、a, b∈A として、a∧b は、aとbの小さいほう(正確には、大きくないほう)を表します。a∧b を、aとbのミート〈meet〉と呼びます。勝手な a, b に対してミートが存在することは保証されません。例えば、離散順序集合では、自分とのミート a∧a 以外のミートは存在しません。
プログラミング言語Haskellの記法を借りて、中置演算子記号'∧'で書かれる写像を'(∧)'で表します。写像 (∧):A×A→A は一般には定義できません。部分写像 (∧):A×A⊇→A なら定義できます。
部分写像(部分二項演算) (∧):A×A⊇→A は、定義されている範囲内において、可換かつ結合的です。
- a∧b = b∧a
- (a∧b)∧c = a∧(b∧c)
もし、最大元(1と書く)があれば、最大元がミート演算の単位元になります。
- a∧1 = 1∧a = a
ガロア接続ペア
Aは順序集合で、ミート (∧):A×A→A は全域で定義されているとします。自然数の大小順序、自然数の約数・倍数順序、ベキ集合の包含順序などは、全域的ミートを持つ順序の例です。Aが順序集合なら、直積 A×A も順序集合になります。B := A×A と置きます。
f:A→B, g:B→A を次のように定義します。
- For a∈A, f(a) := (a,a) ∈B
- For b = (b1, b2)∈B, g(b) := b1∧b2 ∈A
f, g が単調であるとは、次が成立することです。('Forall'は、論理記号'∀'と同じ意味です。)
- Forall a, a'∈A
a≦a' ⇒ f(a)≦f(a') - Forall b, b'∈A
b≦b' ⇒ g(b)≦g(b')
これは、直積順序の定義とミートの定義からすぐ分かるでしょう。
fとgがガロア接続ペア〈Galois-connection pair〉であるとは、圏論の言葉で言えば、fとgが随伴関手ペアであることです。次の、集合の同型が要求されます。
- Forall a∈A, b∈B
A(a, g(b)) B(f(a), b)
このホムセット同型を、順序≦を使って書けば:
- Forall a∈A, b∈B
a≦g(b) ⇔ f(a)≦b
fとgを定義にしたがって展開すると:
- Forall a∈A, b = (b1, b2) ∈B
a≦(b1∧b2) ⇔ (a, a)≦(b1, b2)
さらに分かりやすく書けば:
- Forall a, b1, b2∈A
a≦(b1∧b2) ⇒ (a≦b1 かつ a≦b2) - Forall a, b1, b2∈A
(a≦b1 かつ a≦b2) ⇒ a≦(b1∧b2)
ここまで来れば、命題の成立は明らかでしょう。
ニョロニョロ
前節のようなホムセット同型によって随伴関手ペア(順序集合のときはガロア接続ペア)が定義されます。順序集合に関する随伴関手ペア、すなわちガロア接続ペアの場合は、これで十分ですが、一般的には、単に「同型がありますよ」ではダメです。ホムセットはたくさんあるので、ホムセット間の同型もたくさんあります。それらの同型達が系統的に連動している必要があります。このことについては、次の過去記事(の一部)で記述しています。
同型達の系統的な連動性(転置と反転置の自然性)まで考えると、ホムセット同型による随伴ペアの定義は単純だとは言えません(上記の記事の内容も面倒くさいでしょ)。もっと単純でクリアで等式的な定義としてニョロニョロ等式〈{snake | zigzag | zig-zag | triangle | triangular} {equation | identity | relation}〉による定義があります。
ニョロニョロ等式は、単位〈unit〉と余単位〈counit〉に関する等式なので、まずは単位と余単位を定義する必要があります。今の事例に関して言えば、単位/余単位を表現する不等式は次のようになります。
- 単位不等式: Forall a∈A, a≦a∧a
- 余単位不等式: Forall b = (b1, b2) ∈B, (b1∧b2, b1∧b2)≦b
単位不等式/余単位不等式に関しての一般的背景は「順序随伴性: ガロア接続の圏論」を見てください。
ガロア接続とは限らずに一般的な随伴系において、単位と余単位に関するニョロニョロ等式(等式は2つ)が成立すれば、ホムセット同型は出てきます。ニョロニョロ方式のメリットは、ホムセットが定義しにくい状況でも、ホムセットに言及せずに随伴系を定義できることです。例えば、ベクトル空間の双対性もニョロニョロ方式で定義できます。
ニョロニョロ方式による随伴系の定義は次の記事で扱っています。
また、ガロア接続とは限らない一般的な随伴系に関する注意事項は次を見てください。
ジョインと随伴トリオ
a, b∈A に対して、a∨b := (aとbの大きいほう) と定義して、aとbのジョイン〈join〉と呼びます*1。ミートのときと同じ議論をジョインに対しても行います。記号の使い方は同じだとして、h:B→A を次のように定義します。
- For b = (b1, b2) ∈B, h(b) := b1∨b2
ミートの場合と同様に、次の命題を確認できます。
- Forall a∈A, b∈B
A(h(b), a) B(b, f(a)) - Forall a∈A, b∈B
h(b)≦a ⇔ b≦f(a) - 単位不等式: Forall a∈A, a∨a≦a
- 余単位不等式: Forall b = (b1, b2) ∈B, b≦(b1∨b2, b1∨b2)
これは、hとfがガロア接続ペアであることを示します。しかし、fとgのペアとhとfのペアでは、不等号の向きが逆転するので、次のような書き方をします。
- f -| g ⇔ fはgの左パートナー ⇔ gはfの右パートナー
- h -| f ⇔ hはfの左パートナー ⇔ fはhの右パートナー
今の状況をまとめて書くと:
- h -| f -| g
3つの単調写像(圏論で言えば関手)が2つずつペアになってトリオを形成しています。つまりこれは、ガロア接続トリオです。随伴系の一般論では(関手の)随伴トリオ〈adjoint {trio | triple}〉といいます。
随伴トリオの他の例には:
- 論理における ∃ -| π* -| ∀
- 集合達の直積と直和における Σ -| Δ -| Π
- 加群層における f! -| f-1 -| f*
*1:関係データベース用語のジョインがミートに相当し、ユニオンがジョインが相当します。順序構造のジョインをユニオンと呼ぶこともあります。