2022年あけましておめでとうございます。
2022年最初のブログ記事は、10年前の話を蒸し返すかも知れない。
— 檜山, キマイラの爺さん (@m_hiyama) 2021年12月31日
今年中は無理だけど。 https://t.co/9GvXWUJv5a
というわけで、圏に対してその上のモナドの圏を対応させる関手=インデックス付き圏の話をします。これは、10年近く前2012年4月の記事「またインデックス付き圏が出てきたけど、これはどうなっている?」のコメント欄でksさんに教えていただいたことをまとめたレポートです。とても遅れたレポートです。ksさん、その節はありがとうございました。
内容:
概要
10年前の過去記事で、独りごとのようにモソモソと言っていたことは; 次の2つの対応がどちらもインデックス付き圏〈indexed category〉になるだろう、ということです。
- 圏 にその上のモナドの圏を対応させる
- 圏 上のモナド にそのクライスリ圏を対応させる *1
これらが二段階のインデックス付き圏、あるいは入れ子のインデックス付き圏を形成しそうです。まずは第一段階のインデックス付き圏を構成したいのですが、途中で往生していたのでした。
そのときksさんに教えていただいたキーとなる事実は次のことです。
- ラックス・モノイド関手により、モノイドは保存される。
なるほど! これで がインデックス付き圏になることは容易に示せます。
以上の構成を、(10年前よりは)詳しく話します。難しいところはないのですが、面倒です。細部まで詰めると長くなるので、ある程度は端折りますが、ストーリーは追えるように記します。
セットアップ
小さい圏の2-圏 を基本に据えて話をします。“大きいか知れない厳密2-圏”達の3-圏を とすると、
です。以下の議論は、 の代わりに、任意の厳密2-圏 を基本に据えても同様にできます。が、典型的厳密2-圏として で話を進めます。
の図式順の演算子記号は次を使います(「等式的推論と高次圏論 // 結合の演算子記号」でも述べました)。反図式順の記号は使いません。
- 横結合(関手と関手):
- 横結合(関手と自然変換):
- 横結合(自然変換と自然変換):
- 縦結合(自然変換):
恒等射は次のように書きます。
- 恒等関手(1-射):
- 恒等自然変換(2-射):
以下のギリシャ小文字は、この記事内での使用法を固定します。
- 〈エータ | イータ〉 : 随伴系とモナドの単位
- 〈イプシロン〉 : 随伴系の余単位
- 〈ニュー〉 : ラックス・モノイド関手の乗法*2
- 〈イオタ〉 : ラックス・モノイド関手の単位
- 〈ミュー〉 : モナドの乗法
この記事内では、横着してペースティング図もストリング図も描いてませんが、各自描いてみることをおススメします。
随伴系の圏
最初に、随伴系の圏 を定義します。これは、任意の厳密2-圏 に対して定義できる の、 と置いた具体例です。以下、 である場合は、
と略記します。 は大きい圏となるので、 です。ここで、 は大きいかも知れない圏〈1-圏〉達の2-圏です。
圏 の対象の集合は次のようになります。
つまり、(小さい)圏が の対象です。その意味で、 は“圏の圏”と言えますが、射は関手ではありません。
圏 の射は随伴系〈adjunction | adjoint system〉です。 に対して、 から への随伴系は、4つ組 で:
- 随伴系の左関手〈left functor〉
- 随伴系の右関手〈right functor〉
- 随伴系の単位〈unit〉
- 随伴系の余単位〈counit〉
随伴系が満たすべき法則は、次の2つのニョロニョロ関係式〈snake {relation | equation | identity}〉です*3。
随伴系の域と余域である圏も含めれば、随伴系は6つ組 です。
随伴系を表すために、次のような記号の乱用をします。
つまり:
- 随伴系とその左関手を同じ記号で表す(オーバーロード)。
- 随伴系の右関手は随伴系の名前にダッシュ〈プライム〉を付けた記号で表す。
- 随伴系の単位は の右肩に随伴系の名前を乗せた記号で表す。
- 随伴系の余単位は の右肩に随伴系の名前を乗せた記号で表す。
- 必要に応じて、4つ組で書いたり6つ組で書いたりする。
随伴系は圏 の射〈1-射〉なので、次のように書けます。
随伴系の向きは、その左関手の向きと同じに取ります*4。
圏 における結合と恒等射の記号は次のように決めます。
- 随伴系の結合: (アスタリスクではなくてセミコロン)
- 恒等随伴系:
記号の乱用により、恒等関手と恒等随伴系のどちらも記号 で表すので注意してください(適宜、自分で読み分けてください*5)。
圏 の結合と恒等射の定義は次のとおりです。
以上の記述において、宣言した〈declareした〉プロファイルと実際に定義した〈defineした〉プロファイルが整合的〈正当 | justified | well-defined〉であるためには次の条件が必要です。
また、 が実際に圏であるためには、次の条件(圏の{公理 | 法則})を満たす必要があります。
これらの条件を確認することにより、 が圏〈1-圏〉であることが分かります。つまり、
圏 は、後述する“モナドのインデックス付き圏”の域(インデキシング圏)として使います。
ここでは、 は、 であるような1-圏として定義しました。随伴系を二重圏に仕立てることもできます。次の記事を参照してください。
随伴系の圏上のEnd関手
は2-圏なので、そのホムシング〈hom-thing〉 は圏 -- つまりホム圏〈hom-category〉になります。ホム圏〈関手圏〉は であり、内部ホムとみなすことができます。ホム圏は次のように幾つかの書き方があります。
特に、自己ホム圏 は関手・自然変換の横結合 をモノイド積とみなして(非対称な)厳密モノイド圏になります。モノイド圏としてのホム圏を次のように書きます。
厳密モノイド圏に対する記号の乱用を使えば次のように書けます。
厳密モノイド圏なので、結合律子〈associator〉、左単位律子〈left unitor〉、右単位律子〈right unitor〉はすべて恒等射で、意識する必要はありません。
厳密モノイド圏とラックス・モノイド関手とラックス・モノイド自然変換の2-圏を とします。ラックス・モノイド関手/ラックス・モノイド自然変換については次の記事を参照してください。
上で定義した は、
という写像です(まだ関手にはなってない)。なお、 という省略であって、 とは違うので気を付けてください*6。
この を、次のような反変関手に拡張します。反変関手にも同じ記号を使います(オーバーロード)。
ここで、記号 は2-圏の切り捨てで、「圏の離散化、切り捨て、次元調整」で説明しました。今の場合は、2-圏 の2-射である自然変換をすべて捨ててしまった1-圏を考えることになります*7。
さて、 に対する は既に定義済みなので、 の射である随伴系 に対する を定義します。
一時的に と置くと、 は の射のはずなので、ラックス・モノイド関手です。このラックス・モノイド関手 は次のように書けます。
ここで、 はまたしても記号の乱用ですが:
- イコールの左辺の はラックス・モノイド関手
- イコールの右辺の はラックス・モノイド関手の台関手
- はラックス・モノイド関手の乗法
- はラックス・モノイド関手の単位
記号の乱用では混乱が起きそうなときは、厳密モノイド圏の台圏、ラックス・モノイド関手の台関手には下線を引くことにします。必要があれば、右肩への添字で識別(オーバーロード解決)もします。つまり、次の書き方も使います。
- 厳密モノイド圏
- ラックス・モノイド関手
このような記法のもとで、 を定義しましょう。まず、先に前提を宣言しておきます。
は自然変換の成分であることを示しています。その自然変換は:
丸括弧で囲んであるアスタリスクは、 のモノイド積〈二項関手〉です。裸のアスタリスクは2-圏 の1-射〈関手〉の結合です。アスタリスク記号をオーバーロードしてますが、結合の次元の違い(「等式的推論と高次圏論 // 高次圏における結合」参照)と役割の違いに注意してください。念の為、2-射 の1次元境界仕様(プロファイルの詳細化)を図式で書いておきます。
続いて定義の本体です。
この定義とすぐ上の宣言が整合的であるための条件は次です。
さらに、 がラックス・モノイド関手であるための条件があります。このことは、前提と定義から証明できますが今は割愛します。
がラックス・モノイド関手であることが分れば、次が言えます。
これだけではまだ が関手であることにはなりません。次の関手性を示す必要があります。
このように、ルーチンワークが長く続くことが「難しいところはないのですが、面倒です」と言った理由です。面倒な作業を淡々と遂行すれば、次が言えます。
もう一度繰り返しまとめておくと:
- は随伴系の圏の上で定義され、厳密モノイド圏とラックス・モノイド関手の圏に値をとる反変関手である。圏に(非対称な)モノイド圏を対応させ、随伴系にラックス・モノイド関手を対応させる。
厳密モノイド圏の内部モノイドとMon関手
を(小さい)厳密モノイド圏とします。モノイド積の対称性は仮定しません。記号の乱用で書けば 。単一の対象 *8と恒等射 のみからなる自明圏に、自明なモノイド積を入れた厳密モノイド圏を で表します( は色々な意味でオーバーロードされます)。
を自明厳密モノイド圏 から厳密モノイド圏 へのラックス・モノイド関手とします。
次の事実があります。
- 自明厳密モノイド圏から厳密モノイド圏へのラックス・モノイド関手 は、当該の厳密モノイド圏内の内部モノイド〈モノイド対象〉になる。
- その内部モノイドの台対象〈underlying object〉は である。
- その内部モノイドの乗法〈multiplication〉は である。
- その内部モノイドの単位〈unit〉は である。
さらに、内部モノイドのあいだの準同型射はラックス・モノイド自然変換で与えられます。まとめると、厳密モノイド圏 内の内部モノイド〈モノイド対象〉とそのあいだの準同型射からなる圏 は次のように定義できます。
この定義の右辺は2-圏のホム圏です -- 対象はラックス・モノイド関手で、射はラックス・モノイド自然変換、モノイド積はありません。
2つの厳密モノイド圏のあいだのラックス・モノイド関手 を考えます。
によるポスト結合〈post-composition〉で前送り〈push forward〉すれば、次の関手ができます。
とすると、 は次のような関手になります。
モノイド/モナドの保存
サラッと書きましたが、関手 が定義可能であるためには、次の事実が肝心です。
- がラックス・モノイド関手で、 ならば、 。
これが、最初の節で述べた
- ラックス・モノイド関手により、モノイドは保存される。
です。
厳密2-圏に対して同じことを言えば次のようになります。
- が厳密2-圏のあいだのラックス2-関手で、 が 内のモナドならば、 は 内のモナドになる。
ラックス・モノイド関手/ラックス2-関手で、モノイド/モナドは保存されるのです。定式化によってはまったく自明に見えてしまいますが*9、重要な事実です。これが、10年前にksさんに教えていただいたことです。
モナドのインデックス付き圏の構成
前々節と前節において、次の2つの関手を定義しました。
この2つの関手を結合した関手を とします*10。
圏 に対する は:
これは、次のよく知られた事実の表現です。
- モナドは、自己関手〈エンド関手〉のモノイド圏におけるモノイド〈内部モノイド | モノイド対象〉である。
したがって、 は圏 上のモナドの圏です。射は、モノイド(としてのモナド)の準同型射(モノイド構造を保つ自然変換)です。
なんらかの圏から への反変関手をインデックス付き圏〈indexed category〉と呼ぶので、 は圏 上で定義されたインデックス付き圏です。
こうして、10年前の記事でボンヤリと語っていた
- 圏 にその上のモナドの圏を対応させる対応はインデックス付き圏になるだろう。
という期待は現実だと分かったのです。
*1:記法は10年前の記事に合わせています。 の代わりに 、 、 と書くこともあります。
*2:laxatorと呼ぶこともあるようです。
*3:ニョロニョロ関係式は2-射のあいだの等式です。
「等式的推論と高次圏論 // 2-圏の3-射、4-射」で述べたように、2-射のあいだの等式は の3-射になります。例えば、1つめのニョロニョロ関係式は次のように書けます。
*4:右関手の向きを採用することもあります。
*5:オーバーロードを解決するのが苦手な人もいるでしょう。僕も苦手です。が、記号の乱用/オーバーロードはものすごく使われているので、オーバーロード解決能力は必要です。
*6:混乱しないように記法を工夫すべきかも知れません。End の代わりに、"endo-monoidal-category of -" で とかにすればよかったかも。
*7:2-射を捨てた1-圏にデカルト閉構造を入れたりもしますが、圏の種別が暗黙に変換されることがあります。このへんの“圏の種別の変換”についてはいつかキチンと説明したい。
*8:通常僕は、自明圏の対象を で表していますが、今回はモノイド積/横結合と記号がコンフリクト〈衝突〉するので 0 にしました。
*9:今回は、この事実が自明に見えるように定式化したのです。
*10:圏の2-圏 を1-圏に切り捨てたほうが正確な記述になります。