指標の圏の上の構文モナドのクライスリ圏を考えるのが基本。だが、圏とその反対圏を同時に考えて、ストリング図を使うと混乱しがち。
ストリング図の併置は直和か直積を表すが、それは向き(反対圏かどうか)によって解釈が変わる。
Mが構文モナドのとき、
- M-手続きは、クライスリ圏の反対圏の射
- M-コードは、モナドの基礎圏のM-結果的射〈M-resultic morphism〉
- M-手続きの圏は
次が重要:
の射
は対応するコード
を持つ。コードはプログラミング言語によるソースコードだと思ってよい。
- コードは
内のM-結果的射である。
は余デカルト圏である。
はデカルト圏である。
は終対象
を持つ。
は直積
を持つ。
を単位対象とする対称モノイド積である。
は対角
を持つ。自然変換になる。
は終射
を持つ。自然変換になる。
問題は、 に対するトレースの定義だ。