最近、思っていることなんだけど; 通常の圏〈1-圏〉や2-圏でやっていたことを、二重圏でやってみると割といいことあるよね。たまに“すごくいいこと”もあります。
「惑わされないために」より:
- 二種類の射があるように思えたら、二重圏あるいは二重圏類似構造が存在するかも。
- 三種類の射があるように思えたら、三重圏あるいは三重圏類似構造が存在するかも。
うまいこと、二重圏/三重圏(一般には多重圏)が見つかると、いいことあります。$`\newcommand{\cat}[1]{\mathcal{#1}}
\newcommand{\mrm}[1]{\mathrm{#1}}
\newcommand{\mbf}[1]{\mathbf{#1}}
%\newcommand{\o}[1]{\overline{#1}}
%\newcommand{\id}{\mathrm{id}}
\newcommand{\op}{\mathrm{op}}
\newcommand{\In}{\text{ in }}
%\newcommand{\hyp}{ \text{-} }
%\newcommand{\twoto}{\Rightarrow }
\newcommand{\pto} {\not\to }
`$
内容:
関手とプロ関手の二重圏
良い二重圏の一例を挙げると; 関手とプロ関手の二重圏 $`\mathbf{ProfDC}`$ は、(小さい)圏達の2-圏 $`\mathbf{Cat}`$ とプロ関手達の2-圏 $`\mathbf{Prof}`$ を同時に拡張するもので、すごく使い勝手がいいです。二重圏 $`\mathbf{ProfDC}`$ については以下の過去記事に書いています。
二重圏 $`\mbf{ProfDC}`$ の二重射には特に呼び名がないのですが、制限自然変換〈restriction natural transformation〉とでも呼びますか。そう呼びたい事情は「自然変換を変換する: 二重圏を使った圏論のために // 動機: 圏達の2-圏と二重圏」を読めば分かるでしょう。
この呼び名を使うと、二重圏 $`\mbf{ProfDC}`$ は次のモノ達から構成されます。
- 対象は小さい圏
- タイト射は関手
- プロ射〈ルーズ射〉はプロ関手
- 二重射はプロ関手のあいだの制限自然変換
ひとつの二重射は次のように図示できます。この図は、縦方向がタイト方向、横方向がプロ方向です。
$`\quad \xymatrix{
\cat{A} \ar[d]_F \ar[r]|{/}^P
\ar@{}[dr]|{\alpha}
&\cat{B} \ar[d]^G
\\
\cat{C} \ar[r]|{/}_Q
&\cat{D}
}\\
\quad \In \mbf{ProfDC}
`$
この二重圏 $`\mbf{ProfDC}`$ は、米田モナドと相性がいいんですよ。そこがまた魅力的。米田モナドについては次の過去記事で書いています。
米田モナドは、ほんとは相対スードモナド〈relative pseudomonad〉です。射の方向を考えると、米田モナドより、反対余米田モナド〈反対余米田相対スードモナド | opposite coYoneda relative pseudomonad〉のほうがシックリきます。二重圏 $`\mbf{ProfDC}`$ のプロ射は、反対余米田モナドのクライスリ射と解釈できます。以下にザッと説明します。
反対余米田モナド
小さい圏 $`\cat{C}`$ の前層圏〈前層達の圏〉と余前層圏〈余前層達の圏〉を次のように書きます。
- $`\cat{C}^\wedge := \mrm{PSh}(\cat{C}) = [\cat{C}^\op, \mbf{Set}] = \mbf{Set}^{\cat{C}^\op}`$
- $`\cat{C}^\vee := \mrm{Copsh}(\cat{C}) = [\cat{C}, \mbf{Set}] = \mbf{Set}^{\cat{C}}`$
前層圏は $`\widehat{\cat{C}}`$ という記法がよく使われます。グロタンディークのオリジナルの記法だそうです。が、ここではハット〈ウェッジ〉を右肩に付けることにします。
米田埋め込みと余米田埋め込みは次のように書きます。
- $`よ^\wedge_\cat{C}: \cat{C} \to \cat{C}^\wedge \In \mbf{CAT}`$
- $`よ^\vee_\cat{C}: \cat{C}^\op \to \cat{C}^\vee \In \mbf{CAT}`$
余米田埋め込みは“反変の米田埋め込み”と呼ばれることがありますが、反変か共変かの判断が微妙で忘れてしまう(このブログ内でも「反変」と「共変」が統一されてないと思う)ので、バエズ〈John C. Baez〉に倣って余米田埋め込み〈coYoneda embedding〉と呼べば忘れないし間違いもないです。
便宜的な理由で、米田埋め込みの両端の圏と関手を反対〈opposite〉にしたモノを考えます。
- $`{よ^\vee_\cat{C}}^\op: \cat{C} \to {\cat{C}^\vee}^\op \In \mbf{CAT}`$
文脈から明らかなら、下付きの $`{_{\cat{C}}}`$ は省略します。
- $`よ^{\vee\op} : \cat{C} \to \cat{C}^{\vee\op} \In \mbf{CAT}`$
$`よ^{\vee\op}`$ が反対余米田埋め込み〈opposite coYoneda embedding〉です。
一般に、相対モナドは次の構成素からなります。
- 2つの圏: $`\cat{C}, \cat{D}`$
- ルート関手〈root functor〉: $`J:\cat{C} \to \cat{D}`$
- 対象コンストラクタ〈object constructor〉: $`T:|\cat{C}| \to |\cat{D}|`$
- 単位〈unit〉: $`A\in |\cat{C}|`$ ごとに射 $`\eta_A: J(A)\to T(A)\In \cat{D}`$
- クライスリ拡張演算〈Kleisli extension operator〉: $`A, B\in |\cat{C}|`$ ごとに関数 $`\mrm{Ext}_{A, B}: \cat{D}(J(A), T(B))\to \cat{D}(T(A), T(B))`$
これらの構成素達は、通常の拡張スタイル(またはメインズ・スタイル〈Manes style〉)のモナド法則の変種を満たします。ルート関手 $`J`$ がところどころに挟まるのが普通のモナドと違うところです。
相対スードモナドでは、“2つの圏”が“2つの2-圏”となり、モナド法則が等式から同型になります。複雑になりますが、今は深入りせずに、相対スードモナドも相対モナドと同じようなもんだ、と思ってください。
なお、構成素の名前〈役割り名〉は次の正規表現パターンで省略されます。
- ルート{関手}?
- {対象}?コンストラクタ
- {クライスリ}?拡張{演算}?
コンストラクタは関手に、単位は自然変換になりますが、定義の時点では関数と射の族でもかまいません。最初からコンストラクタ関手、単位自然変換として導入してもいいです(好みの問題、「絵算で見る、拡張スタイルのモナドとモノイド・スタイルのモナド」参照)。
さて、反対余米田モナド〈opposite coYoneda monad〉(正確には反対余米田相対スードモナド)は次のように定義されます。
- 2つの2-圏: $`\mbf{Cat}, \mbf{CAT}`$
- ルート: $`J: \mbf{Cat} \to \mbf{CAT}`$ は包含関手〈包含2-関手〉
- コンストラクタ: $`\cat{C} \in |\mbf{Cat}|`$ に対して $`T(\cat{C}) := \cat{C}^{\vee\op}`$ (反対余前層圏)
- 単位: $`\cat{C}\in |\mbf{Cat}|`$ ごとに射 $`よ_\cat{C}^{\vee\op}: J(\cat{C})\to \cat{C}^{\vee\op} \In \mbf{CAT}`$ (反対余米田埋め込み)
- クライスリ拡張: 以下に説明
$`F: \cat{C} \to \cat{D}^{\vee\op}`$ のクライスリ拡張 $`\mrm{Ext}(F)`$ は、反対余米田埋め込み $`よ^{\vee\op}`$ に沿った $`F`$ の左カン拡張により定義します。大きな〈小さいとは限らない〉圏達の2-圏のなかのストリング図で描くと、以下のようです。描画方向は、関手の結合方向が左から右、自然変換の縦結合方向が上から下です。
$`\quad \xymatrix{
{}
&F \ar@{-}[dd]
&{}
\\
{\cat{C}}
&{}
&{\cat{D}^{\vee\op}}
\\
{}
&*+[o][F]{?} \ar@{-}[ddl] \ar@{-}[ddr]
&{}
\\
{}
&{\cat{C}^{\vee\op} }
&{}
\\
{よ^{\vee\op}}
&{}
&{?}
}\\
\quad\In \mbf{CAT}
`$
図中の疑問符のところを埋めるテンプレート充填問題(「カン拡張ラムダ計算化 方針」参照)の普遍的な解〈フィラー〉が左カン拡張です。ポアンカレ双対を取ったペースティング図のほうがいいなら:
$`\quad \xymatrix@R+0.5pc {
\cat{C} \ar[rr]^{F} \ar[dr]_{よ^{\vee\op}}
&{} \ar@{}[d]|{?}
&{\cat{D}^{\vee\op} }
\\
{}
&\cat{C^{\vee\op} } \ar[ur]_{?}
&{}
}\\
\quad \In \mbf{CAT}
`$
次のレイアウトでも同じです(レイアウトに惑わされないように)。
$`\quad \xymatrix{
\cat{C} \ar[d]_{よ^{\vee\op} } \ar[r]^F
\ar@{}[dr]|{?}
&{\cat{D}^{\vee\op}} \ar@{=}[d]
\\
\cat{C^{\vee\op} } \ar[r]_{?}
&{\cat{D}^{\vee\op}}
}\\
\quad \In \mbf{CAT}
`$
$`\mrm{Ext}(F)`$ の定義を標準的なカン拡張の記法で書くなら:
$`\quad \mrm{Ext}(F) := \mrm{ Lan_{よ^{\vee\op}} }(F)`$
米田埋め込みに沿った左カン拡張は米田拡張〈Yoneda extension〉と呼びます。反対余米田埋め込みに沿うなら反対余米田拡張〈opposite coYoneda extension〉ですね。
以上に定義したルート、コンストラクタ、単位、クライスリ拡張は相対スードモナドの法則を満たします。つまり、反対余米田モナド〈反対余米田相対スードモナド〉が定義できます。
クライスリ射とプロ関手
一般に、$`(\cat{C}, \cat{D}, J, T, \eta, \mrm{Ext})`$ が相対モナドのとき、クライスリ射は次の形の射です。
$`\quad f : J(A) \to T(B) \In \cat{D}`$
相対モナドの構造を使うことにより、次の2つのクライスリ射の結合〈composition〉を定義できます。
$`\quad f : J(A) \to T(B) \In \cat{D}\\
\quad g : J(B) \to T(C) \In \cat{D}
`$
クライスリ結合(クライスリ射の結合)を '$`;;`$' とすると:
$`\quad f\mathop{;;} g := f ; \mrm{Ext}(g) \; : J(A) \to T(C) \In \cat{D}`$
クライスリ結合に対する恒等射〈クライスリ恒等 $`\mrm{kid}`$〉は、(相対モナドの)単位により与えられます。
$`\quad \mrm{kid}_A := \eta_A \; : J(A) \to T(A) \In \cat{D}`$
クライリ射 $`f : J(A) \to T(B) \In \cat{D}`$ を次のように書くことにします。
$`\quad f : A \dashrightarrow B`$
相対モナド(正確には相対スードモナド)として、反対余米田モナドを考えます。そのとき、クライスリ射は次のように定義されます。
$`\qquad F : \cat{C} \dashrightarrow \cat{D}\\
:\Longleftrightarrow
F: J(\cat{C}) \to \cat{D}^{\vee\op} \In \mbf{CAT}
`$
さて一方、プロ関手は次のように定義されるのでした。
$`\qquad P : \cat{C}\pto \cat{D}\\
:\Longleftrightarrow
P: \cat{C}^\op \times \cat{D} \to \mbf{Set} \In \mbf{CAT}
`$
プロ関手は、二重圏 $`\mbf{ProfDC}`$ のプロ射となります。実は、プロ関手を反対余米田モナドのクライスリ射に置き換えても二重圏は変わりません。プロ関手達の集合と、クライスリ射達の集合は同型なのです。規準的〈canonical〉に一対一対応があるので、プロ関手とクライスリ射は同一視可能です。
集合の同型より強く、関手圏の圏同型が言えます。次のようです。
$`\quad [\cat{C}^\op \times \cat{D}, \mbf{Set}]\\
\cong [\cat{C}^\op, [\cat{D}, \mbf{Set}] ]\\
\cong [\cat{C}, [\cat{D}, \mbf{Set}]^\op ]\\
= [\cat{C}, \cat{D}^{\vee\op} ]\\
= [J(\cat{C}), \cat{D}^{\vee\op} ]
`$
二重圏 $`\mbf{ProfDC}`$ のプロ射は、目的に応じて、プロ関手とみたり(反対余米田モナドの)クライスリ射とみたりしていいわけです。これは、関係圏〈関係達の圏〉 $`\mbf{Rel}`$ の射(つまり関係)を、目的に応じて、二項述語とみたりベキ集合モナドのクライスリ射とみたりするのと似ています。
プロ関手と(反対余米田モナドの)クライスリ射が置き換え可能なことにより、二重圏 $`\mbf{ProfDC}`$ を反対余米田モナド(あるいは向きを逆転して米田モナド)と関係付けることができます。左カン拡張やコエンドのような圏論的ガジェットが、異なる(実は本質的には同じ)場面で出現することにも納得がいくでしょう。