また、時間の空間
時間の空間というワケワカラナイ言葉を何度か使っている。国語的にあまりにも変だから止めようと思いながらも使っている。意外と本質を突いた言葉かもしれないし。
並列性とか対話性とかの制御&データフローを考えと、どうしても時間の空間に行き着いてしまう。時間の空間は避けられない気がする。とりあえず、時間シェープと呼ぶことにする。時間シェープは、時間パラメータが走る変域。
時間シェープの圏TShpを考える。これは (0, 1)-コボルディズム圏だと思う。時間シェープのあいだの変換なり模倣なりを考えるともう1次元上がって、2セルが存在する。2セルをタイルと考えて、二重圏とするのが一番良さそうだ。それでさらに、モノイド積があるから、モノイド二重圏、いや半環二重圏だろうな。
TShpで考えられる演算を列挙すると:
- 直列結合(順次結合、逐次結合):時間シェープの終端境界(これは0次元空間)と開始境界を糊付けする。
- 並列結合=直和 : 単に直和、可換(対称)なモノイド積となる。
- テンソル積=直積 : 0×0 = 0, 1×1 = 1 なので次元が上がらないで well-defined。
- 2セルの結合=写像や関係の結合
圏Cを持ってきて、Cを値(ラベル)とするカテグラフの圏を作る。これは、Cラベル付きタングルと同じように作る。
- 0セル=一点にCの対象を対応付ける。
- 1セルにCの射を対応付ける。
- Cが高次構造を持つなら、2セルにも対応を付ける。
Cカテグラフに対して、直列結合と並列結合は自然に定義できる。Cがテンソル積(モノイド積)を持っているなら、カテグラフのテンソル積も定義できる。2次元(以上)の構造はよくわからない。
Cカテグラフの圏は、CにTShpで時間概念を入れた圏となるだろう。TShpの部分圏を取ったり、TShpを別な圏に取り替えれば時間概念が変わるから振る舞いの定義も変わる。
TShpとは別に、しかし類似の構造を持った構文的対象のコボルディズム類似の圏を作る。時間シェープの圏、構文的対象(プログラムの記述)の圏、意味論を提供するCの3つの圏のあいだの関係を議論することになるだろう。時間を含んだ意味論には、時間の圏が必要だってことだ。たぶん。