このブログの更新は Twitterアカウント @m_hiyama で通知されます。
Follow @m_hiyama

メールでのご連絡は hiyama{at}chimaira{dot}org まで。

はじめてのメールはスパムと判定されることがあります。最初は、信頼されているドメインから差し障りのない文面を送っていただけると、スパムと判定されにくいと思います。

参照用 記事

米田テンソル計算 4: 米田埋め込み


\newcommand{\mrm}[1]{\mathrm{#1}}
\newcommand{\cat}[1]{\mathcal{#1}}
\newcommand{\In}{\text{ in } }
\newcommand{\op}{\mathrm{op} }
\newcommand{\Triv}{\mathbb{I} }
%
\newcommand{\vin}{ \style{display: inline-block; transform: rotate(-90deg)}{\in} }% \vin = lowr vin
\newcommand{\uvin}{ \style{display: inline-block; transform: rotate(90deg)}{\in} } % upper vin
%
\require{color}
\newcommand{\Keyword}[1]{ \textcolor{green}{\text{#1}} }%
\newcommand{\For}{\Keyword{For }  }%
\newcommand{\Define}{\Keyword{Define }  }%
\newcommand{\Let}{\Keyword{Let }  }%
\newcommand{\Where}{\Keyword{Where }  }%
\newcommand{\Declare}{\Keyword{Declare }  }%
米田テンソル計算 3: 米田の「よ」、米田の星、ディラックのブラケット 再論」にて:

圏の対象・射の{余}?米田埋め込みと関手・自然変換の{余}?米田埋め込みの両方に米田の星を使ってますが、これはオーバーロードです。両者はすこし別な対応です。僕は、第一種{余}?米田埋め込み〈type-1 {co}?Yoneda embedding〉/第二種{余}?米田埋め込み〈type-2 {co}?Yoneda embedding〉と区別してますが、それらの関係はまた別な記事で述べます。

この記事が「別な記事」になります。なお、上記引用内の「{余}?米田埋め込み」は「余」を付けても付けなくてもいいことを意味し「米田埋め込みと余米田埋め込み」を表します。

この記事では、通常の米田埋め込みを復習して、その一般化である第二種米田埋め込みを定義します。事例とか挟みながらのほうが分かりやすいだろうとは思いながらも、取り急ぎ定義を済ませます。

この記事内では、圏の対象をラテン大文字で表します。「自然変換の集合のエンド表示」ではラテン小文字でした。この程度のゆらぎはよくあることです、気にしないでください。

内容:

第一種米田埋め込み

\cat{C}前層の圏〈presheaf category | category of presheaves〉 \cat{C}^\wedge余前層の圏〈copresheaf category | category of copresheaves〉 \cat{C}^\vee の定義は次のとおりです。

\For \cat{C} \in |{\bf Cat}|\\
\Define \cat{C}^\wedge := [\cat{C}^\op , {\bf Set}] \in |{\bf CAT}|\\
\Define \cat{C}^\vee := [\cat{C} , {\bf Set}]  \in |{\bf CAT}|

ここで、[-, -] は関手圏を意味します。[\cat{C}^\op , {\bf Set}] \in |{\bf Cat}| とはならないので、必ずしも小さくない圏も含む“圏の2-圏” {\bf CAT} を出しています。

\quad [\cat{C}^\op , {\bf Set}] = {\bf CAT}(\cat{C}^\op, {\bf Set}) \in |{\bf CAT}|

\cat{C}^\wedge の対象を \cat{C} 上の前層〈presheaf〉、射を前層準同型射〈homomorphism of presheaves〉と呼びます。双対的に、圏 \cat{C}^\vee の対象を \cat{C} 上の余前層〈copresheaf〉、射を余前層準同型射〈homomorphism of copresheaves〉と呼びます。前層/余前層の準同型射の実体は自然変換です。

米田埋め込み〈Yoneda embedding〉{\bf Yo} は以下のように定義します。以下に頻繁に登場するホム関手 \cat{C}(-. -) については、「ホム関手とサンドイッチ結合」に詳しく書いてあります。

\For \cat{C} \in |{\bf Cat}|\\
\Declare {\bf Yo}_{\cat{C}}:\cat{C} \to \cat{C}^\wedge \In {\bf CAT}\\
\For A \in |\cat{C}|\\
\Define {\bf Yo}_{\cat{C}}(A) := \cat{C}(-, A) \in |[\cat{C}^\op, {\bf Set}]|\\
\For f:A \to B \In \cat{C}\\
\Define {\bf Yo}_{\cat{C}}(f) := \cat{C}(-, f) : \cat{C}(-, A) \to \cat{C}(-, B) \In [\cat{C}^\op, {\bf Set}]

自然変換 {\bf Yo}_{\cat{C}}(f) の自然性の可換図式は次です。

\require{AMScd}
\forall g:X \to Y \in \cat{C}.\\
\quad
\begin{CD}
 \cat{C}(-, A)(X) @>{\cat{C}(-, f)_X}>> \cat{C}(-, B)(X)\\
 @A{\cat{C}(-, A)(g)}AA                 @AA{\cat{C}(-, B)(g) }A\\
 \cat{C}(-, A)(Y) @>{\cat{C}(-, f)_Y}>> \cat{C}(-, B)(Y)
\end{CD}\\
\text{commutative in }{\bf Set}

ラムダ変数(マイナス記号)に代入すれば:


\forall g:X \to Y \in \cat{C}.\\
\quad
\begin{CD}
 \cat{C}(X, A) @>{\cat{C}(X, f)}>> \cat{C}(X, B)\\
 @A{\cat{C}(g, A)}AA                 @AA{\cat{C}(g, B)}A\\
 \cat{C}(Y, A) @>{\cat{C}(Y, f)}>> \cat{C}(Y, B)
\end{CD}\\
\text{commutative in }{\bf Set}

ホムセットの要素を追いかければ:

\xymatrix@C+2pc{
   {\cat{C}(X, A)} \ar@{}[d]|{\vin}
   & {\cat{C}(X, B)} \ar@{}[d]|{\vin}
\\
  {g^*(u)} \ar@{|->}[r]^-{f_* = \cat{C}(X, f)}
  & {f_*(g^*(u)) = g^*(f_*(u)) }
\\
 {u} \ar@{|->}[r]_-{f_* = \cat{C}(Y, f)} \ar@{|->}[u]^-{g^* = \cat{C}(g, A)}
 & {f_*(u)} \ar@{|->}[u]_-{g^* = \cat{C}(g, B)}
\\
 {\cat{C}(Y, A)} \ar@{}[u]|{\uvin}
 & {\cat{C}(Y, B)} \ar@{}[u]|{\uvin}
}\\
\Where\\
\quad f_*(-) := f;- = -\circ f\\
\quad g^*(-) := -;g =  g\circ -

米田埋め込みの形式的定義はこれで終わりです。「ニンジャ米田の補題と本家・米田の補題 // おわりに」に、米田埋め込みのプログラミング的な意味/確率変数の解釈などの話題へのリンクをまとめています。

双対的に、余米田埋め込み〈coYoneda embidding〉は次のようです。

\For \cat{C} \in |{\bf Cat}|\\
\Declare {\bf coYo}_{\cat{C}}:\cat{C}^\op \to \cat{C}^\vee \In {\bf CAT}\\
\For A \in |\cat{C}|\\
\Define {\bf coYo}_{\cat{C}}(A) := \cat{C}(A, -) \in |[\cat{C}, {\bf Set}]|\\
\For f:A \to B \In \cat{C}\\
\Define {\bf coYo}_{\cat{C}}(f) := \cat{C}(f, -) : \cat{C}(B, -) \to \cat{C}(-, A) \In [\cat{C}, {\bf Set}]

これら通常の{余}?米田埋め込みを、後で出てくる第二種{余}?米田埋め込みと区別するために第一種{余}?米田埋め込み〈type-1 {co}?Yoneda embedding〉と呼びます。

以上のことを箇条書きにまとめると:

  1. 前層は集合圏への反変関手(反対圏からの共変関手)である。
  2. 余前層は集合圏への共変関手である。
  3. 米田埋め込み {\bf Yo} は、前層の圏への共変関手である。
  4. 余米田埋め込み {\bf coYo} は、余前層の圏への反変関手(反対圏からの共変関手)である。

ややこしい点は:

  • 米田埋め込み自体は共変関手だが、米田埋め込みの値は反変関手
  • 余米田埋め込み自体は反変関手だが、余米田埋め込みの値は共変関手

第二種米田埋め込み

米田テンソル計算 3: 米田の「よ」、米田の星、ディラックのブラケット 再論 // 米田の星と米田埋め込み」において、“関手への米田の星”として少し触れていますが、ここであらためて第二種米田埋め込み〈type-2 Yoneda embedding〉を定義します。第二種米田埋め込みは次のプロファイル(域と余域の仕様)を持ちます。

\quad {\bf YO}_{\cat{C}, \cat{D}}:{\bf Cat}(\cat{C}, \cat{D}) \to {\bf Prof}(\cat{D}, \cat{C}) \In {\bf CAT}

\cat{C}, \cat{D} が小さい圏だったとしても、

\quad {\bf Prof}(\cat{D}, \cat{C}) = {\bf CAT}(\cat{D}^\op \times \cat{C}, {\bf Set})

なので、第二種米田埋め込み {\bf YO}_{\cat{C}, \cat{D}} をホストする圏は({\bf Cat} ではなく) {\bf CAT} になります。

第二種米田埋め込みは、圏の厳密2-圏 {\bf Cat} とプロ関手の厳密2-圏 {\bf Prof} のあいだの対象上で恒等〈identity-on-objects〉な1-射反変で2-射共変な厳密2-関手です。今とりあえずは対象(である圏)\cat{C}, \cat{D} を固定して、ホム圏のあいだの関手として考えます(ホム局所的に考察)。

第二種米田埋め込みをこれから定義しますが、「自然変換の集合のエンド表示 // 関手のドットパートとアローパート」で述べた記法により、関手の対象パート〈ドットパート〉にドットを乗せ、関手の射パート〈アローパート〉のアローを乗せます。

\For \cat{C}, \cat{D} \in |{\bf Cat}|\\
\Declare  \dot{\bf YO}_{\cat{C}, \cat{D}}: 
     |{\bf Cat}(\cat{C}, \cat{D})| \to |{\bf Prof}(\cat{D}, \cat{C})| \In {\bf SET}\\
\For F : \cat{C} \to \cat{D} \In {\bf Cat} \\
\Define \dot{\bf YO}_{\cat{C}, \cat{D}}(F) := \cat{D}(-, F(-)) : \cat{D}^\op\times \cat{C} \to {\bf Set} \In {\bf CAT}

ハイフン〈マイナス記号〉は、圏 \cat{D}^\op, \cat{C} 上を(2つが独立に)走る無名ラムダ変数です。詳しく書くなら次のようになります。


\Let P := \dot{\bf YO}_{\cat{C}, \cat{D}}(F) : \cat{D}^\op \times \cat{C} \to {\bf Set} \In {\bf CAT}\\
\Define \dot{P} :=  \lambda\, (X, A)\in |\cat{D}^\op|\times |\cat{C}|.(\,
     \cat{D}(X, F(A)) \;\in |{\bf Set}|\,)\\
\Define \vec{P} := \lambda\, (g, f)\in \cat{D}^\op(Y, X) \times \cat{C}(A, B).(\\
\qquad     \cat{D}(g, F(f)):\cat{D}(Y, F(A)) \to \cat{D}(X, F(B)) \;\In {\bf Set} \\
\quad )

次に、第二種米田埋め込みの射パート〈アローパート〉 \vec{\bf YO}_{\cat{C}, \cat{D}} を定義します。

\For \cat{C}, \cat{D} \in |{\bf Cat}|\\
\Declare  \vec{\bf YO}_{\cat{C}, \cat{D}}: 
     \mrm{Mor}({\bf Cat}(\cat{C}, \cat{D}) ) \to \mrm{Mor}({\bf Prof}(\cat{D}, \cat{C}) ) \In {\bf SET}\\

\For \alpha :: F \Rightarrow G : \cat{C} \to \cat{D} \In {\bf Cat} \\
\Define \vec{\bf YO}_{\cat{C}, \cat{D}}(\alpha) := \\
\quad \cat{D}(-, \alpha_{-}) :: \cat{D}(-, F(-)) \Rightarrow \cat{D}(-, G(-)) :  \cat{D}^\op\times \cat{C} \to {\bf Set} \In {\bf CAT}

自然変換 \alpha のプロファイル情報の書き方は色々あります。

  1. \alpha \in {\bf Cat}(\cat{C}, \cat{D})(F, G)
  2. \alpha :F \to G \In {\bf Cat}(\cat{C}, \cat{D})
  3. \alpha ::F \Rightarrow G : \cat{C} \to \cat{D} \In {\bf Cat}
  4. \alpha \in \mrm{Nat}(F, G : \cat{C} \to \cat{D})

すべて同じことなので、必要に応じて適宜書き換えます。

\cat{D}(-, \alpha_{-}) は自然変換である必要がありますが、自然性は容易に分かります。

余談ですが; 通常の反図式順記法では、関手への引数渡しと自然変換へのインデキシングの構文が違います。僕がプライベートに使っている図式順記法(「DOTN三号とCatPict〈キャットピクト〉:方針」参照)では、どちらも同じ構文 A.F, A.\alpha です。この共通構文を使うと、第二種米田埋め込みの定義は簡略化されます。


\Define {\bf YO}_{\cat{C}, \cat{D}} := 
   \cat{D}(-, -.\Box)

ここで、ハイフン〈マイナス記号〉は対象と射を表す無名ラムダ変数で、ボックスは関手と自然変換を表す無名ラムダ変数です。無名変数に代入した一例は:

\quad
{\bf YO}_{\cat{C}, \cat{D}}(\alpha)(X, A) := 
   \cat{D}(X, A.\alpha) : \cat{D}(X, A.F) \to \cat{D}(X, A.G) \In {\bf Set}

第一種米田埋め込みと第二種米田埋め込み

第一種米田埋め込みは、第二種米田埋め込みの特別な例と考えることができます。第二種米田埋め込み {\bf YO}_{\cat{C},\cat{D}} において \cat{C} = \Triv と置くと、第一種米田埋め込みが再現します。ここで、\Triv は自明圏です。

第二種米田埋め込みの定義で、単純に \cat{C} = \Triv と置き換えてみます。


\For F:\Triv \to \cat{D} \In {\bf Cat}\\
\Define \dot{\bf YO}_{\Triv, \cat{D}}(F) := \cat{D}(-, F(-)) : \cat{D}^\op\times \Triv \to {\bf Set} \In {\bf CAT}\\
\:\\
\For \alpha :: F \Rightarrow G : \Triv \to \cat{D} \In {\bf Cat}\\
\Define \vec{\bf YO}_{\Triv, \cat{D}}(\alpha) := \\
\quad \cat{D}(-, \alpha_{-}) :: \cat{D}(-, F(-)) \Rightarrow \cat{D}(-, G(-)) :  \cat{D}^\op\times \Triv \to {\bf Set} \In {\bf CAT}

自明圏 \Triv の唯一つの対象を * で表すと:


\For F(*) \in  |\cat{D}|\\
\Define \dot{\bf YO}_{\Triv, \cat{D}}(F) := \cat{D}(-, F(*)) : \cat{D}^\op \to {\bf Set} \In {\bf CAT}\\
\:\\
\For \alpha_* : F(*) \to G(*) \In \cat{D}\\
\Define \vec{\bf YO}_{\Triv, \cat{D}}(\alpha) := \\
\quad \cat{D}(-, \alpha_*) :: \cat{D}(-, F(*)) \to \cat{D}(-, G(*)) : \cat{D}^\op \to {\bf Set} \In {\bf CAT}

次のように置きます。


\Let A := F(*)\\
\Let B := G(*)\\
\Let f := \alpha_*

また、次の同一視をします。\approx は左辺と右辺を同一視する意味です。


 F \approx F(*) \\
 G \approx G(*) \\
 \alpha \approx \alpha_* \\
 {\bf YO}_{\Triv, \cat{D}} \approx {\bf Yo}_{\cat{D}}

すると、第一種米田埋め込みが現れます。


\For A \in  |\cat{D}|\\
\Define \dot{\bf Yo}_{\cat{D}}(A) := \cat{D}(-, A) : \cat{D}^\op \to {\bf Set} \In {\bf CAT}\\
\:\\
\For f : A \to B \In \cat{D}\\
\Define \vec{\bf Yo}_{\cat{D}}(f) := \\
\quad \cat{D}(-, f) :: \cat{D}(-, A) \Rightarrow \cat{D}(-, B) : \cat{D}^\op \to {\bf Set} \In {\bf CAT}

ややこしい共変・反変

第二種米田埋め込みが2-圏のあいだの2-関手であるのに対して、第一種米田埋め込みは圏のあいだの関手です。第二種が第一種に特殊化される際に次元が落ちることに注意してください。第二種米田埋め込みは1-射に対して反変ですが、第一種への特殊化でその反変部分は潰れます。第二種の2-射に対する共変部分が第一種の1-射に対する共変部分として受け継がれます。

2-関手の共変・反変は、1-射部分と2-射部分で別に考える必要があるのでややこしいです。そのややこしさは「高次圏の反対圏をどう書くか」に書いてあります。

第二種余米田埋め込み〈type-2 coYoneda embedding〉も同様に定義できて、第一種余米田に特殊化できます。こ場合も、ややこしい共変・反変には注意が必要です。

第二種{余}?米田埋め込みは、米田テンソル計算のなかで圏の2-圏とプロ関手の2-圏を繋ぐために使われます。重要です。