Notion of Process
"Categories of Processes Enriched in Final Coalgebras"(http://citeseer.ist.psu.edu/411633.html)から。
C=(C, ×, I)がモノイド圏だとして、C上(over C)のnotion of processとは:
- 三項の関手T:C×Cop×C→C
- extranaturalな族 i_A : I→T(I, A, A)
- extranaturalな族 c_X,Y,A,B,C : T(X, A, B)×T(Y, B, C)→T(X×Y, A, C)
具体例は、T(X, A, B) = [A×X, B×X]([-, -]は内部hom)。満たすべき条件(公理)は:
T(X, A, B)×I -[id×i_B]→T(X, A, B)×T(I, B, B)
-[c]→ T(X×I, A, B)
================================================
T(X, A, B)×I =→ T(X×I, A, B)I×T(Y, A, B) -[i_A×id]→ T(I, A, A)×T(Y, A, B)
-[c]→ T(I×Y, A, B)
=================================================
I×T(Y, A, B) =→ T(I×Y, A, B)T(X, A, B)×T(Y, B, C)×T(Z, C, D) -[c×id]→T(X×Y, A, C)×T(Z, C, D)
-[c]→T(X×Y×Z, A, D)
=====================================================================
T(X, A, B)×T(Y, B, C)×T(Z, C, D) -[id×c]→T(X, A, B)×T(Y×Z, B, D)
-[c]→T(X×Y×Z, A, D)
T(X, A, B)は、Xがプロセスの内部空間(状態、ストレージなど)、Aが入力、Bが出力であるプロセスの全体(を対象と見なしたモノ)。i_Aは任意のデータ型Aに対して、内部空間I(自明空間)としてAの恒等を対応させる。c_X,Y,A,B,Cは、A→C(内部空間X)とB→C(内部空間Y)を順次合成する操作。
この定義では、Cが閉モノイダルだとか自分自身でenrichされているとか言ってないが、事実上内部homを持っている状況を想定しているようだ。高階対象を考えるときは自然な仮定だが。
Tが、(Cではなくて)他のモノイド圏Dに値をとるケースを考えるとどうなるだろう。なんか、Circ-Kleisli構成と似た状況のような気がするぞ。