このブログは、旧・はてなダイアリー「檜山正幸のキマイラ飼育記 メモ編」(http://d.hatena.ne.jp/m-hiyama-memo/)のデータを移行・保存したものであり、今後(2019年1月以降)更新の予定はありません。

今後の更新は、新しいブログ http://m-hiyama-memo.hatenablog.com/ で行います。

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構成と似た状況のような気がするぞ。