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

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

メイヤー系とコ/モナド

記法:

  • コ/モナドモナドまたはコモナド
  • A : 上付きのチェックマーク(のつもり)は、文字修飾子。使い途はボールドなどと同じ。Aに対する演算子ではない。モナドを表す文字・語への文字修飾に使う。

ベックの分配系は4種類あって、

  1. モナドモナド分配系 (M, A, δ)
  2. モナド・コモナド分配系 (M, A, δ)
  3. モナドモナド分配系 (M, A, δ)
  4. モナド・コモナド分配系 (M, A, δ)

3,4番の分配系を混合分配系と呼ぶ。1,2番は非混合分配系〈unmixed distributive system〉。

分配系の一番目の構成素(コ/モナド)に対して、そのアイレンベルク/ムーア圏を作る。二番目の構成素(コ/モナド)は、そのアイレンベルク/ムーア圏上のコ/モナドに持ち上がる。Yを二番目のコ/モナドとして、持ち上げをY↑δと書く。Y↑δに対して再びアイレンベルク/ムーア圏を作る。

以上の手順で出来た圏を分配系のアイレンベルク/ムーア圏とする。

非混合分配系の場合は複合コ/モナドが作れて、それのアイレンベルク/ムーア圏を作ればいいが、混合分配系の場合は複合系が作れない! 上記の持ち上げ方式だと、混合系を経由しないでアイレンベルク/ムーア構成ができる。

複合系が要らないので、自由にアイレンベルク/ムーア構成ができて、第一コ/モナドと第二コ/モナドの区別もシッカリできる。複合系を一般化してもアイレンベルク/ムーア構成は出来るかも知れない。

コマンド・クエリー分離されたメイヤー系は、コマンド・モナドのスタンピングによるモナドと、値の余代数スタンピングによるコマンドが作る、モナド・コモナド分配系になる。よって、そのアイレンベルク/ムーア圏が作れる。アイレンベルク/ムーア圏の対象は、モノイドが作用する状態空間(ラベル付き遷移系)に、クエリー構造を付けたもの。クエリー構造がコモナドの余代数であることから、副作用なし(余単位律)と内部生(余結合律)が出てくる。

メイヤー分配系の単一複合系は作れないので、持ち上げによって階層的に(繰り返しにより)定義するしかない。