「バエズ/ドーラン茂みとリントン/ローヴェア・モナド」と「多項式関手とスケマティックなリントンの定理」において、「たわ言かも知れない」「与太話かも知れない」「怪しい話」を書いていて、出来ればちゃんとした話にしたいと思っているわけです。
そのためには、圏類似代数系〈category-like algebraic system〉、特に「圏、複圏、多圏」を再定式化する必要があります。これがまためんどくさい話でして、ずっと避けてきたのですが、正面から取り組まないとダメそう。$`
\newcommand{\cat}[1]{ \mathcal{#1} }
\newcommand{\mcl}[1]{ \mathcal{#1} }
\newcommand{\mbf}[1]{ \mathbf{#1} }
\newcommand{\mrm}[1]{ \mathrm{#1} }
\newcommand{\msf}[1]{\mathsf{#1}}
\newcommand{\msc}[1]{\mathscr{#1}}
\newcommand{\mbb}[1]{\mathbb{#1}}
\newcommand{\o}[1]{ \overline{#1} }
\newcommand{\u}[1]{ \underline{#1} }
\newcommand{\id}{ \mathrm{id} }
\newcommand{\In}{ \text{ in }}
%\newcommand{\On}{ \text{ on }}
%\newcommand{\Iff}{ \Leftrightarrow }
%\newcommand{\Imp}{ \Rightarrow }
\newcommand{\op}{ \mathrm{op}}
\newcommand{\hyp}{\text{-} }
%\newcommand{\H}{\text{-} }
\newcommand{\twoto}{\Rightarrow }
\newcommand{\sto}{\dashrightarrow } % span to
\newcommand{\base}[1]{ {{#1}\!\lrcorner} }
%\newcommand{\dimU}[2]{ {{#1}\!\updownarrow^{#2}} }
`$
内容:
概要と経緯
圏類似代数系〈category-like algebraic system〉のなかには、モジュラーオペラッドやテンソルネットワークのように、射〈オペレーション | オペレータ | セル | テンソル〉の“脚”に入力と出力の区別がないものもあります。我々が(比較的に)よく使う“圏、複圏〈オペラッド〉、多圏”では、射の“脚”に入力と出力の区別があります。別な言い方をすると、射が方向〈direction〉を持ちます。射が方向を持つような圏類似代数系を、有向な圏類似代数系〈directed category-like algebraic system〉と呼ぶことにします。
有向な圏類似代数系を、まとめて定義できるような定義デバイス〈defining device〉はないでしょうか? 実は過去に関連する話題を扱っていて、2017年の記事「モナド論をヒントに圏論をする(弱2-圏の割と詳しい説明付き)」で書いています。長い記事ですが、次の節を拾い読みしてもいいでしょう。
2017年の記事では、圏概念の拡張を XCat と呼び、XCat の候補として、次の2案を出しています。
- $`\mrm{Lax}2(\mbf{1}^{(2)}, \mrm{SPAN}(\cat{C}))`$
- $`\mrm{Lax}2( \mbf{1}^{(2)}, \cat{B})`$
ここで、$`\cat{C}`$ は1-圏で、$`\cat{B}`$ は2-圏です。最近使っている記法で書くなら:
- $`2\mbb{CAT}^\mrm{lax}({_2 \mbf{1}}, \mrm{SPAN}(\cat{C}))`$
- $`2\mbb{CAT}^\mrm{lax}( {_2 \mbf{1}}, \cat{B})`$
ニ番目の $`\cat{B}`$ を $`\mrm{SPAN}(\cat{C})`$ と置けば一番目です。
上記の方法で、圏概念の拡張・一般化は出来ますが、複圏/多圏がすぐさま出てくるわけではありません。
多圏の構成がメンドクサイことは以下の過去記事に書いています。
マジメにやると大変なので、簡約版多圏を提案したり、絵を使った説明を試みたりはしています。
で結局、マジメに多圏を定義してみるか(今ここ)、と。
アイディア・手法は、「多圏の必要性、煩雑さ、そして単純化」で紹介しているユルゲン・コスロウスキ〈Jürgen Koslowski〉、リチャード・ガーナー〈Richard Garner〉にだいたい従います。
準備: モナド
基礎とする圏は集合圏〈小さい集合達の圏〉$`\mbf{Set}`$ に固定します。一般的な圏 $`\cat{C}`$ にしてもいけますが、話がややこしくなるので集合圏に限定とします。
集合圏上のモナド $`M`$ は次のように書きます。
$`\quad M = (\u{M}, \mu_M, \eta_M)/\mbf{Set}`$
「モナドとモナドの台関手を同じ記号で書く」という記号の乱用を使うと:
$`\quad M = (M, \mu_M, \eta_M)/\mbf{Set}`$
モナド自体を下付きに使っているので、自然変換の成分は $`(\mu_M)_X`$ のように書くことになります*1。モナド自体の下付きと成分の下付きで混乱しそうですが、注意してください。
「下付きの $`M`$ を省略する」という略記を使うと:
$`\quad M = (M, \mu, \eta)/\mbf{Set}`$
さて、モナドの一般的・抽象的な定義としては次があります。
$`\quad \mrm{AllMnd}(\cat{K}) := 2\mbb{CAT}^{\mrm{lax}}({_2 \mbf{1}}, \cat{K})`$
ここで、$`2\mbb{CAT}`$ は、大きい2-圏〈large 2-category〉達のとても大きい3-圏〈very large 3-category〉です。$`{_2 \mbf{1}}`$ は、単一対象・単一1-射・単一2-射からなる自明な2-圏〈trivial 2-category〉、$`\cat{K}`$ は2-圏(弱2-圏を単に「2-圏」と呼ぶ)です。$`2\mbb{CAT}^{\mrm{lax}}(\hyp, \hyp)`$ は、ラックス2-関手を対象とするホム2-圏です。
モナドの一般的・抽象的な定義に関しては、次の過去記事とそこから参照されている文献を見てください。
2-圏 $`\cat{K}`$ 内のすべてのモナド達の2-圏である $`\mrm{AllMnd}(\cat{K})`$ の $`\cat{K}`$ を $`\mbf{CAT}`$ に具体化すると、通常の意味での“すべてのモナド達の世界”が定義できます。
$`\quad \mrm{AllMnd}(\mbf{CAT}) := 2\mbb{CAT}^{\mrm{lax}}({_2 \mbf{1}}, \mbf{CAT})`$
特に、基礎圏(最近の用語法だと「ルート圏」かな)を $`\mbf{Set}`$ に固定したモナド達(の1-圏または2-圏)を次のように書きます。
$`\quad \mrm{AllMnd}(\mbf{CAT})/\mbf{Set}\\
\text{ or }\\
\quad \mrm{Mnd}_{\mbf{CAT}}(\mbf{Set})
`$
外側の2-圏〈アンビエント・ドクトリン〉は $`\mbf{CAT}`$ に固定しているので下付き $`\mbf{CAT}`$ を省略すると、通常の記法 $`\mrm{Mnd}(\mbf{Set})`$ (集合圏上のすべてのモナド達の意味)になります。
準備: ベックの分配法則
$`P, S`$ を集合圏上の2つのモナドとします。つまり、
$`\quad P, S \in |\mrm{Mnd}(\mbf{Set})|`$
関手の結合〈横結合 | 合成〉の図式順演算子記号を '$`*`$' とします。自然変換 $`\delta`$ があって、
$`\quad \delta:: S*P \twoto P*S : \mbf{Set}\to\mbf{Set} \In \mbf{CAT}`$
$`\delta`$ が幾つかの法則を満たすとき、$`\delta`$ をベックの分配法則〈Beck's distributive law〉と呼びます*2。ベックの分配法則については、以下の過去記事を参照してください。
集合圏上の2つのモナドとベックの分配法則を一緒にした $`(P, S, \delta)/\mbf{
Set}`$ をひとつの構造とみなしてベックの分配系〈Beck's distribution system〉と呼びましょう。ベックの分配系という構造内での各構成素の役割り名は:
- 積モナド〈product monad〉 $`P`$
- 和モナド〈sum monad〉 $`S`$
- 分配法則〈distributive law〉 $`\delta`$
これらの役割り名(あくまでも構成素役割り名! 固有名や種類を表す名前ではない)は、記憶の助けになるように決めています。和の積である $`S*P`$ を、積の和である $`P*S`$ に変換するのが分配法則 $`\delta :: S*P \twoto P*S`$ です。最も典型的な事例は、積モナドがリストモナド、和モナドがバッグモナドのときで、$`\delta`$ は常識的な意味での分配法則になります(「総和と総積の記号法」と「ベックの分配法則の事例と計算法」参照)。
(P, S)-スパン
$`(P, S, \delta)/\mbf{Set}`$ を、集合圏 $`\mbf{Set}`$ 上のベックの分配系とします。このベックの分配系に対して、スパン達の2-圏 $`\mrm{SPAN}( (P, S, \delta ))`$ を定義します。二重の括弧がうるさいので、以下では $`\mrm{SPAN}( P, S, \delta )`$ と書きます。
集合圏内のスパンで、左足〈left foot〉を $`P`$ で修飾し、右足〈right foot〉を $`S`$ で修飾したものを考えます。
$`\quad \xymatrix{
{}
& B \ar[dl]_{\ell} \ar[dr]^{r}
&{}
\\
P(X)
& {}
& S(Y)
}\\
\quad \In \mbf{Set}
`$
この形のスパンを$`(P, S)`$-スパン〈$`(P, S)`$-span〉と呼ぶことにします。$`P, S`$ が恒等モナド(何もしないモナド)のときは、$`(P, S)`$-スパンはただのスパンです。
上の形の$`(P, S)`$-スパンを、集合 $`X`$ から集合 $`Y`$ への射と考えます。つまり、集合を対象として$`(P, S)`$-スパンを射とする圏をこれから構成します。
$`X`$ から $`Y`$ への$`(P, S)`$-スパンの全体を次のように書きます。いまのところ $`\delta`$ は関係ないですが、後で関係してきます。
$`\quad \mrm{SPAN}(P, S, \delta)(X, Y)`$
上記の集合は小さい集合に収まらず(ほとんどの場合)大きな集合となってしまいます。したがって、この集合をホムセットとする圏は局所小圏〈locally small category〉になりません。これは問題ではありますが、今日は気にしない態度でいきましょう。スパンの圏の問題点は以下の過去記事参照。
$`A`$ が、$`X`$ から $`Y`$ への$`(P, S)`$-スパンであることを次のように書きます。
$`\quad A : X \sto Y`$
これは一時的な記法で、いずれは、普通の矢印で次のように書きます。
$`\quad A : X \to Y \In \mrm{SPAN}(P, S, \delta)`$
対象達の集合は $`|\mbf{Set}|`$ と同じで、ホムセット $`\mrm{SPAN}(P, S, \delta)(X, Y)`$ も決まりました。圏にするには、射と射の結合を定義しないといけません。次節で述べます。
(P, S)-スパンの結合
$`A : X \sto Y`$ が$`(P, S)`$-スパンのとき、そのボディ〈body〉を $`\o{A}`$ 、左脚〈left leg〉を $`\ell_A`$ 、右脚〈right leg〉を $`r_A`$ と書くことにします。
$`\quad \xymatrix{
{}
&{\o{A}} \ar[dl]_{\ell_A} \ar[dr]^{r_A}
&{}
\\
P(X)
& {}
& S(Y)
}\\
\quad \In \mbf{Set}
`$
もうひとつの $`(P, S)`$-スパン $`B: Y \sto Z`$ があるとき、$`A`$ と $`B`$ の結合〈横結合 | {horizontal}? composition〉を定義しましょう。
定義上、$`A`$ の余域と $`B`$ の域は揃っています(どちらも $`Y`$)ですが、このままでは計算ができません。$`A`$ にモナド $`P`$ (の台関手)を適用し、$`B`$ にモナド $`S`$ (の台関手)を適用すると次のようになります。
$`\quad \xymatrix@C-2pc{
{}
&{P(\o{A})} \ar[dl]_{P(\ell_A)} \ar[dr]^{P(r_A)}
&{}
&{}
&{S(\o{B})} \ar[dl]_{S(\ell_B)} \ar[dr]^{S(r_B)}
&{}
\\
{P(P(X))}
&{}
&{P(S(Y))}
&{S(P(Y))}
&{}
&{S(S(Z))}
}\\
\quad \In \mbf{Set}
`$
モナド乗法とベックの分配法則を繋ぐと次のようになります。
$`\quad \xymatrix@C-2.5pc{
{}
&{}
&{P(\o{A})} \ar[dl]_{P(\ell_A)} \ar[dr]^{P(r_A)}
&{}
&{}
&{}
&{S(\o{B})} \ar[dl]_{S(\ell_B)} \ar[dr]^{S(r_B)}
&{}
&{}
\\
{}
&{P(P(X))} \ar[dl]_{\mu_P}
&{}
&{P(S(Y))} \ar[dr]^{\delta}
&{}
&{S(P(Y))} \ar@{=}[dl]
&{}
&{S(S(Z))} \ar[dr]^{\mu_S}
&{}
\\
{P(X)}
&{}
&{}
&{}
&{S(P(Y))}
&{}
&{}
&{}
&{S(Z)}
}\\
\quad \In \mbf{Set}
`$
この図の中央にできるコスパン(谷の部分)のファイバー積を作り、ファイバー積から左右に降りる射を左右の脚として、$`A`$ と $`B`$ の結合を定義します。
$`A`$ と $`B`$ の結合を、図式順中置演算子記号 '$`*`$' を使って $`A*B`$ と書きます。ファイバー積(プルバック四角形)が一意には決まらないので、$`A*B`$ も up-to-iso でしか決まりません。本来の意味の圏にはなりませんが、だいたい圏です(「だいたい圏になる: 概圏」「概圏の事例(整理して再度)」参照)。
恒等な$`(P, S)`$-スパンは次の形です。
$`\quad \xymatrix{
{}
&{X} \ar[dl]_{\eta_P} \ar[dr]^{\eta_S}
&{}
\\
{P(X)}
&{}
&{S(X)}
}\\
\quad \In \mbf{Set}
`$
$`(P, S)`$-スパンの結合と恒等$`(P, S)`$-スパンに対して、だいたいの結合律とだいたいの単位律(左右)が必要です。こういうのがメンドクサイんだよなー、今日は省略。
(P, S)-スパンの2-圏とモナド
以上に定義した$`(P, S)`$-スパンの結合は横結合です。それとは別にスパンのあいだの2-射と縦結合が定義できます。2-射はボディのあいだの写像〈関数〉で、縦結合は写像の結合です。横結合がゆるゆる〈weak | pseudo〉だったのに対して、縦結合はキッチリ〈strictly〉決まります。
結局、(P, S)-スパン達と2-射達、それらのあいだの横結合と縦結合は2-圏を形成します。横結合がゆるゆるなので厳密2-圏ではありませんが、弱2-圏になります。
ここで、モナドの一般論を適用すると、以下のようなホム2-圏を作れます。
$`\quad 2\mbb{CAT}^\mrm{lax}({_2 \mbf{1}}, \mrm{SPAN}(P, S, \delta) )`$
このホム2-圏の対象は、2-圏 $`\mrm{SPAN}(P, S, \delta)`$ 内のモナドですが、個々のモナドは、小さな有向圏類似代数系〈small directed category-like algebraic system〉になっています。
ベックの分配系 $`(P, S, \delta)`$ を変えることにより、小さな圏達の2-圏、小さな複圏達の2-圏、小さな多圏達の2-圏を作り出すことができます。いま説明した構成法は、ベックの分配系を原材料として、“小さな有向圏類似代数系達の2圏”を製造する工場になっています。
工場建設はメンドクサイのですが、工場ができあがって順調に稼働するば、相当に便利だとは言えます。