「2次元の圏のための記号法」の続き、みたいな話。
とある二重圏を記述しようとしてまして、基本方針は以前の記事のとおりです。
二重圏は圏の圏ではありませんが、DOTNの約束を流用して、縦1-セルをf, gなど、横1-セルをF, Gなどで表し、結合の記号も流用すると:
f;g F*G α;β α*β
ただし、諸般の事情から、文字と記号が少し変わります。
- 縦1-セルは f, g など
- 横1-セルは A, B など
- 2-セルは ψ, ρ など
- 横結合は、反図式順の併置
上の表が次のように変わります。
f;g | BA |
ψ;ρ | ρψ |
それで、ψ, ρ, τ という3つの2-セルに対して、縦結合 ψ;ρ と 横結合 τψ(反図式順)を定義しようとしたら、ものすごい勢いで文字・記号を消費します。とりあえず絵に描いてみると:
S -(A)→ T -(D)→ U | | | f ψ g τ h | | | v v v X -(B)→ Y -(E)→ Z | | j ρ k | | v v V -(C)→ W
隣接する2-セル ψ, ρ, τ に対して、0-セルは8個あって、1-セルは10本もあります。二重圏の2-セルは、2つの方向と4つの境界1-セルを持つので、テキストによる記述も大変です。とりあえず、次のような記法を使ってみました。
- ψ::A⇒B, f=/⇒g:S,T,X,Y
- ρ::B⇒C, j=/⇒k:X,Y,V,W
- τ::D⇒E, g=/⇒h:T,U,Y,Z
単一の2-セルψを記述するのに、{ψ, A, B, f, g, S, T, X, Y} と9文字も消費します。通常の圏の射 f:A→B が3文字で済むので3倍。異なる文字の割り当ては困難になるので、文脈を毎回クリアして同じ文字を別な意味で再利用するしかありません。
既存の論文を見ると、色々なスクリプトとフォントを使って、文字のレパートリーを増やしているようです。
プレーンテキストの範囲で書きたいのだけど、限界なのかな。
二重圏をもう1次元上げて、三重圏(triple category)とすると、その3-セルの記述に必要な文字は:
- 0-セルが1種8個
- 1-セルが3種12本
- 2-セルが3種6面
- 3-セルが1種1体
- 合計で8種27文字
矢印の種類は:
- 1-セルが3種
- 2-セルが3種、各2方向で6種
- 3-セルが1種、3方向で3種
- 合計で12種
結合演算もたくさんありますが、もう列挙する気力が萎えました。
「三重圏なんて必要になるのか?」と思うでしょうが、オートマトン(ラベル付き遷移系)を考えると、すぐに出てきます。オートマトンの終状態と初期状態を繋ぐ「時間方向の結合」以外に、入出力やシグナル/イベントなどを考えると「空間方向の結合」が出てきます。つまり、IO付きオートマトンは4つの境界(初期状態、終状態、入力ポート、出力ポート)を持つ2-セルなのです。2つのオートマトンのあいだの射(模倣/双模倣)は3-セルになります。
3次元の圏を特定の方向に切ってみてその断面を眺めるとか、1-セルを恒等に退化させて次元を潰してしまうなどの方法で低次元化させることはできます。一方で、n-圏や∞-圏の枠組みを適用してみるテもあるでしょう。文字種やフォントに頼らないうまい記法があるかもしれません。
複雑さが増すのはイヤになりますが、現実は複雑なものだと思うので、まーしょうがない。複雑なモノとたくさんの法則を何とか取り扱う方法を模索するしかないのでしょう。