圏的オペレータ
最近(とはいっても3年とかのスパンで)思っているのだが、圏的なオペレータ(cateogorical operators)が重要だよね。でも、あまりまとまった記述や指摘がないし、そもそもオペレータの定義や一般論が難しいので、オペレータは影にかくれやすい。ここで、定義らしきことを考えてみる。
Cが圏のとき、Obj(C)を|C|、Mor(C)は単にCと書く。オペレータは族の集合として与えられるから、先に族を定義する。Aがなんらかの集合だとして、Aをインデックス集合とする族は次のようなもの。
- 対象の族: A→|C| という写像
- 射の族: A→C という写像
- 対象写像の族: A→PMap(|C|, |D|) という写像。PMapは下に説明。
- 射写像の族: A→PMap(C, D) という写像。PMapは下に説明。
ここで、「f∈PMap(A, B) ⇔ f:X→Y, X⊆A, Y⊆B」、Aの部分集合からBの部分集合への写像がPMap。
インデックス集合Aは、たいていは、圏の対象類|C|や、その直積になっている。典型的なオペレータはトレースだろう。TrA,BX:C(A×X, B×X)→C(A, B) なので、インデックス集合(|C|×|C|)×|C|とする、射写像の族になっている。射写像(部分写像)の場合、その定義域、余域はホムセットの場合が圧倒的に多い。
圏の結合、恒等、関手、自然変換もオペレータと思える。その他に思いつく例を挙げると:
- スター・オペレータ: X |→ X*
- 二重双対同型:τX:X→X**
- ブレイディング:βX,Y:X×Y→Y×X、特殊ケースが対称σ
- ツイスト:θX:X→X
- アソシエータ:αA,B,C:A×(B×C)→(A×B)×C
- ユニッタ:λA:1×A→A
- Kelly単位:ηA:1→A*×A
- Kelly余単位:A×A*→1
関手性や自然性を持つとは限らないオペレータを使って定義される構造がどんどん増えているような気がする。