「対称モノイド圏上の可換モナドはラックス・モノイド・モナドとみなせる」という事実があります。それを聞いても「あーそうですか、それで?」なんだけど、動機があって辿り着くと「ほー、そうかそうか、ウンウン」みたいな気分になります。
動機・経緯について手短に説明して、当該の事実も簡単にメモします。
内容:
構文モナド
をインスティチューション理論の意味での指標の圏だとします。対象 は指標です*1。なにかしら「指標から項を生成するメカニズム」があるとします。そのメカニズムは文法/構文生成規則と言っていいかも知れません。指標 から生成された項の集合を とします。
は単なる集合ではなくて何らかの構造を持つかもしれません。その構造込みで だとしましょう。 は圏 の射(指標射)にも定義できて、 は圏 上の自己関手になるとします。つまり:
が大きい圏である可能性も考えて (小さい圏達の2-圏)ではなくて (大きいかも知れない圏達の2-圏)にしておきました。
「入れ子の項を平坦化〈展開〉する」「基本記号を項とみなす」操作があるでしょうから、それらを とすると、 は 上のモナドになります。このモナドを、記号の乱用により次のように書きます。
記号の乱用が嫌なときは、モナドの台関手〈underlying functor〉に下線〈underline〉*2を引いて:
このように、文法/構文生成規則を表現するモナドを構文モナド〈syntax monad〉と呼ぶことにします。
指標の圏 上の構文モナド を使ってナニヤカニヤやろうと思うと、 に要請したい性質が幾つか出てきます。それらの要請をまとめると:
結局(って短絡し過ぎだが)、論理における項/論理式の言語やプログラミング言語などの形式的構文構造は、余デカルト・モノイド圏上の可換モナドで記述される、ということになります。
可換モナド
余デカルト圏は直和(2点図式の余極限)と始対象(空図式の余極限)を持つ圏です。その直和/始対象が、モノイド積/単位対象として与えられる場合が余デカルト・モノイド圏〈coCartesian monoidal category〉です。モノイド積としての直和は対称〈symmetric〉な積なので、余デカルト・モノイド圏は対称モノイド圏になります。
一般的な(余デカルトとは限らない)対称モノイド圏を、記号の乱用で次のように書きます。
ポピュラーな記号を使っているので、記号の意味は説明しなくても分かるでしょう。記号の乱用が嫌なときは、モノイド圏の台圏〈underlying category〉に下線を引いて:
モノイド圏 上の自己関手 の強度〈テンソル強度 | tensorial strength〉は、次の形の自然変換です。
強度の公理を満たす必要がありますが今日は割愛します。 は 左強度 "left strength" のつもりで、対応する右強度 は次の図式が可換になるように定義します。
右強度を余強度〈costrength〉と呼ぶこともありますが、ここでは(左強度に対する)右強度と呼びます。
台関手に(上記の意味で)対称な左強度/右強度が付いたモナド を考えます。左右の強度とモナドの乗法/単位が強調している(詳細省略)場合、そのようなモナドを(対称モノイド圏上の)強モナド〈strong monad〉と呼びます。
という変換を、左強度/右強度/モナド乗法を使って次のように定義できます。
左強度を先に使用:
右強度を先に使用:
これらの2つの が一致するとき、強モナド を、対称モノイド圏 上の可換モナド〈commutative monad〉と呼びます。「可換である」という性質の記述にモナド乗法を使っているので、対称な左強度/右強度を持った自己関手に対して可換性は定義できません。可換性は(台関手ではなくて)モナドに対する性質です。
厳密2-圏内のモナド対象
を厳密2-圏とします。 は厳密2-圏の例ですが、ここでは一般的な厳密2-圏 を考えます。
内のモナド対象〈monad object〉とは、4つ組 で:
結合律/左単位律/右単位律(詳細省略)を満たすものです。ここで、アスタリスク記号 '' は、厳密2-圏の横結合の図式順演算子記号です。縦結合の図式順演算子記号にはセミコロン '' を使います。
厳密2-圏 内のモナド対象 は、ホム・厳密モノイド圏 内のモノイド対象です。ホム・厳密モノイド圏内の解釈では:
- (横結合をモノイド積とみなす)
- (恒等射をモノイド単位とみなす)
「モナドはモノイドだ」と言うのは、上記の解釈があるからです。が、「そういう解釈も出来るよ」ってだけで、モナドとモノイドが同じものではない*3ので注意してください。
を、厳密2-圏を対象として、ラックス2-関手を射として、ラックス2-関手のあいだの乗法/単位を保つ自然変換を2-射とする2-圏とします。2-圏からなる圏は3-圏に構成できますが、ここでは2-射までしか考えてないので左下付き添字で 2 を入れています。黒板文字を使っているのは、次が成立するような超巨大な2-圏を想定しているからです。
を次のような自明な2-圏だとします。
- 対象はひとつだけ: (唯一の対象は何でもいい)
- 射は恒等射だけ:
- 2射は恒等射の恒等2-射だけ:
は厳密2-圏なので、次が成立します。
任意の厳密2-圏 に対して、次の射 を考えることができます。
はラックス2-関手ですから、 と書けます*4。4つ組 を次のように作ります。
を考慮して書き換えれば:
がラックス2-関手であることから、 の結合律/左単位律/右単位律は従います。つまり、4つ組 は厳密2-圏 内のモナド対象です。
逆に、厳密2-圏 内のモナド対象があると、それから以下のようなラックス2-関手 を構成できます(詳細省略)。
以上から、次の2つの概念は同じことです。
- 厳密2-圏 内のモナド対象
- 自明な厳密2-圏 から厳密2-圏 へのラックス2-関手
特に のときのモナド対象を単にモナドと呼ぶので、次の2つの概念は同じことです。
- モナド
- 自明な厳密2-圏 から厳密2-圏 へのラックス2-関手
さらに特殊化すると:
- 集合圏 上のモナド
- 自明な厳密2-圏 から厳密2-圏 へのラックス2-関手 であって、 であるもの。
集合圏は大きな圏ですが、さらに大きな2-圏、もっともっと大きな3-圏(の切り捨て)を考えていることに注意してください。
ラックス・モノイド・モナドと可換モナド
を、モノイド圏を対象として、ラックス・モノイド関手を射として、ラックス・モノイド関手のあいだの乗法/単位を保つ自然変換〈ラックス・モノイド自然変換〉を2-射とする2-圏とします。
は2-圏であり、関手/自然変換の横結合は厳密な結合演算なので厳密2-圏となります。(この厳密性は に関するものであり、 の対象であるモノイド圏が厳密だとは言ってません。)次が成立します。
よって、前節の議論が適用できて、厳密2-圏 内のモナド対象を定義できます。モナド対象は、結合律/左単位律/右単位律を満たす4つ組としても、自明な厳密2-圏からのラックス2-関手としても定義できます(どっちで定義しても同じ)。
厳密2-圏 内のモナド対象をラックス・モノイド・モナド〈lax monoidal monad〉と呼びます。4つ組方式の定義でくだいて言えば:
- はモノイド圏である。
- はラックス・モノイド関手である。
- はラックス・モノイド自然変換である。
- はラックス・モノイド自然変換である。
- モナドの法則である結合律/左単位律/右単位律を満たす。
さて、モノイド圏 上の可換モナドを、ラックス・モノイド・モナドとして扱ったほうが便利なときがあります。 を対称モノイド圏 上の可換モナドとしましょう。(ダッシュ〈プライム〉を付けているのは、記号の混乱が起きないようにです。)可換モナド からラックス・モノイド・モナド が作れればいいわけです。
おおよそ次のように定義します。
- とする。
- は、 の左強度/右強度/モナド乗法を組み合わせて作る。
- は、 とする。
- とする。
- とする。
対称モノイド圏 上の可換モナド からこうして 作った が実際にラックス・モノイド・モナドであることを確認するにはまだやることがありますが、頑張れば確認できます。
可換モナドの具体例として、余デカルト・モノイド圏 上の構文モナドをとれば、構文モナドはラックス・モノイド・モナドとして扱うことができます。