更新モナドの指数法則
M, Nなどはモノイドとして、モノイダルスタンピングモナドを更新モナドとも呼ぶことにする。Catyの更新ファシリティ(updates, usesで宣言される)はすべて更新モナド。
Mによる更新モナドのCベースのクライスリ圏を C[M] と書くことにすると:
- C[1] = C
- C[M×N] = (C[M])[N]
と指数法則が成立する。
では、
- C[M+N] = C[M]×C[N]
はどうか。「+」を普通に解釈していては成立しない。モノイドの足し算は自由積、圏の足し算も、対象類を同一視しての自由積とすると、ある程度は成立しそう。「ある程度」が謎だが。
モノイドも圏も直積と自由積に関する代数法則があって、それによってインターリーブが記述されるのだと思う。いずれにしてもモノイドの自由積がきちんと扱えないと、並列・直接の問題は解けないだろう。
並列・直接の問題が解けないなら、たくさんの更新モナドを扱うことも困難だ。