MathLabs

数学の基礎

米田の補題

一つの対象は、圏の他のあらゆる場所からそこへ向かうすべての矢印のパターンによって、同型を除いて完全に決定される——米田の補題はその観察を精密な全単射に変え、埋め込み A↦Hom(−,A)A\mapsto\mathrm{Hom}(-,A) が充満忠実であるという系こそが、「対象をその写像によって研究する」ことをスローガンではなく厳密な方法にする唯一の事実である。

直観対象とはそれがすることである

電子部品を完全に知るために、その内部を見る必要はない——考えられるすべての周辺回路について、その部品がどのように配線され得るかを正確に知っていれば十分である。圏においても類似の事実が成り立つ:対象 AA は、あらゆる対象 XX について Hom(X,A)\mathrm{Hom}(X,A)——AA に向かう写像の集合——を一挙に知ることによって、同型を除いて完全に決定される。

すべての射が一つの特別な対象Aへ向かう対象の網の対話的図。
あらゆる対象 XX からあらゆる矢印を AA へ、一挙に集めたもの——それが前層 hAh_A が記録するデータである。

大学表現可能な前層

定義: 前層 hAh_A

C\mathcal{C} の対象 AA に対し、表現可能な前層 hA=HomC(−,A)h_A=\mathrm{Hom}_{\mathcal{C}}(-,A) は各対象 XX に集合 hA(X)=HomC(X,A)h_A(X)=\mathrm{Hom}_{\mathcal{C}}(X,A) を割り当て、各射 g:X→Yg:X\to Y に前合成写像 hA(g):Hom(Y,A)→Hom(X,A),f↦f∘gh_A(g):\mathrm{Hom}(Y,A)\to\mathrm{Hom}(X,A),\quad f\mapsto f\circ g を割り当てる。これにより hAh_A は関手 Cop→Set\mathcal{C}^{\mathrm{op}}\to\mathbf{Set} となる——gg を右から合成することが割り当ての向きを逆にするため、反変である。

hA(X)=HomC(X,A)h_A(X) = \mathrm{Hom}_{\mathcal{C}}(X,A)

任意の関手 F:Cop→SetF:\mathcal{C}^{\mathrm{op}}\to\mathbf{Set} に対し、米田の補題は hAh_A から FF への自然変換が、単一の集合 F(A)F(A) の元と全単射であると述べる:Nat(HomC(−,A),F)≅F(A)\mathrm{Nat}(\mathrm{Hom}_{\mathcal{C}}(-,A),F)\cong F(A)。この全単射は、逆方向に進む二つの写像 Φ\Phi と Ψ\Psi から構成される。

Nat(HomC(−,A),F)≅F(A)\mathrm{Nat}(\mathrm{Hom}_{\mathcal{C}}(-,A), F) \cong F(A)
米田全単射の二つの方向
写像方向公式
Φ\PhiNat(hA,F)→F(A)\mathrm{Nat}(h_A,F)\to F(A)Φ(η)=ηA(1A)\Phi(\eta)=\eta_A(1_A)
Ψ\PsiF(A)→Nat(hA,F)F(A)\to\mathrm{Nat}(h_A,F)Ψ(x)X(f)=F(f)(x)\Psi(x)_X(f)=F(f)(x)

発展全単射、段階的な証明

Φ\Phi は自然変換 η:hA⇒F\eta:h_A\Rightarrow F を、可能な限り経済的な入力——単位射 1A∈hA(A)=Hom(A,A)1_A\in h_A(A)=\mathrm{Hom}(A,A)——で評価し、F(A)F(A) の元 ηA(1A)\eta_A(1_A) を生み出す。逆方向では、Ψ\Psi は元 x∈F(A)x\in F(A) から出発し、すべての対象 XX とすべての f∈Hom(X,A)f\in\mathrm{Hom}(X,A) について、xx を F(f)F(f) に沿って前へ押し出すことで F(X)F(X) の元を再構成する:Ψ(x)X(f)=F(f)(x)\Psi(x)_X(f)=F(f)(x)。η\eta の自然性こそが Ψ(Φ(η))\Psi(\Phi(\eta)) が η\eta を復元することを可能にする理由であり、これが次の定理で完全に証明される。

Φ(η)=ηA(1A)\Phi(\eta) = \eta_A(1_A)
Ψ(x)X(f)=F(f)(x)\Psi(x)_X(f) = F(f)(x)

任意の関手 F:Cop→SetF:\mathcal{C}^{\mathrm{op}}\to\mathbf{Set} と対象 AA について、上の写像 Φ\Phi と Ψ\Psi は互いに逆であり、したがって Nat(HomC(−,A),F)≅F(A)\mathrm{Nat}(\mathrm{Hom}_{\mathcal{C}}(-,A),F)\cong F(A) は集合の真の全単射である。

なぜ正しいのか?

これによって圏論の研究者は、無限で捉えにくい自然変換の族を、F(A)F(A) の単一の具体的な元と交換できるようになる——表現可能な前層 hAh_A から出る写像に関するすべての問いが、一つの集合に関する問いに帰着する。

証明

まず、すべての x∈F(A)x\in F(A) について Φ(Ψ(x))=x\Phi(\Psi(x))=x を確認する。定義を展開する:Ψ\Psi の公式を X=AX=A、f=1Af=1_A に特殊化すると Ψ(x)A(1A)=F(1A)(x)\Psi(x)_A(1_A)=F(1_A)(x)。FF は関手であるから、単位射 1A1_A を F(A)F(A) 上の恒等関数に送るので、F(1A)(x)=xF(1_A)(x)=x。よって Φ(Ψ(x))=Ψ(x)A(1A)=x\Phi(\Psi(x))=\Psi(x)_A(1_A)=x となり、求める通りである——この方向は関手の単位律しか使わない。

次に、より難しい方向、すべての自然変換 η:hA⇒F\eta:h_A\Rightarrow F について Ψ(Φ(η))=η\Psi(\Phi(\eta))=\eta を確認する。両辺は自然変換 hA⇒Fh_A\Rightarrow F であるから、すべての対象 XX とすべての元 f∈hA(X)=Hom(X,A)f\in h_A(X)=\mathrm{Hom}(X,A) で成分が一致することを示せば十分である。

x:=Φ(η)=ηA(1A)x:=\Phi(\eta)=\eta_A(1_A) を用いて Ψ\Psi の公式で Ψ(Φ(η))X(f)\Psi(\Phi(\eta))_X(f) を展開すると、これは F(f)(ηA(1A))F(f)(\eta_A(1_A)) に等しい。

次に η\eta 自身の自然性を、ηY(f∘g)=F(g)(ηX(f))\eta_Y(f\circ g)=F(g)(\eta_X(f)) の形で、g:=f:X→Ag:=f:X\to A、もう一方の変数を AA として用いる:その自然性四角形で f:=1A∈hA(A)f:=1_A\in h_A(A) とすると、まさに ηX(1A∘f)=F(f)(ηA(1A))\eta_X(1_A\circ f)=F(f)(\eta_A(1_A))、すなわち 1A∘f=f1_A\circ f=f であるから ηX(f)=F(f)(ηA(1A))\eta_X(f)=F(f)(\eta_A(1_A)) が得られる。

最後の二つの式を組み合わせると:Ψ(Φ(η))X(f)=F(f)(ηA(1A))=ηX(f)\Psi(\Phi(\eta))_X(f)=F(f)(\eta_A(1_A))=\eta_X(f)。XX と ff が任意であったため、二つの自然変換はどこでも一致し、Ψ(Φ(η))=η\Psi(\Phi(\eta))=\eta となる。最初の段落と合わせて、Φ\Phi と Ψ\Psi は互いに逆な全単射である。

米田埋め込み y:C↪[Cop,Set]y:\mathcal{C}\hookrightarrow[\mathcal{C}^{\mathrm{op}},\mathbf{Set}]、y(A)=hAy(A)=h_A は充満忠実である:すべての A,B∈CA,B\in\mathcal{C} について Nat(hA,hB)≅HomC(A,B)\mathrm{Nat}(h_A,h_B)\cong\mathrm{Hom}_{\mathcal{C}}(A,B) であり、この全単射は射 f:A→Bf:A\to B を、ff による後合成で与えられる自然変換 hA⇒hBh_A\Rightarrow h_B に送る。

なぜ正しいのか?

充満忠実性とは、翻訳 A↦hAA\mapsto h_A が情報を一切失わないという保証そのものである:C\mathcal{C} の異なる射は異なる自然変換になり、二つの表現可能な前層の間のすべての自然変換は C\mathcal{C} の実際の射から来る。これが対象をそこへの写像だけを通じて研究することを正当化する。

証明

目標関手を F:=hBF:=h_B として米田の補題を適用する。補題は全単射 Nat(hA,hB)≅hB(A)\mathrm{Nat}(h_A,h_B)\cong h_B(A) を与え、定義 hB(A)=HomC(A,B)h_B(A)=\mathrm{Hom}_{\mathcal{C}}(A,B) を展開すると、まさに Nat(hA,hB)≅HomC(A,B)\mathrm{Nat}(h_A,h_B)\cong\mathrm{Hom}_{\mathcal{C}}(A,B) が得られる。

残るは、この全単射のもとで自然変換 η:hA⇒hB\eta:h_A\Rightarrow h_B がどの C\mathcal{C} の射に対応するかを特定し、それが後合成であることを確認することである。Φ\Phi の公式により、η\eta は元 Φ(η)=ηA(1A)∈Hom(A,B)\Phi(\eta)=\eta_A(1_A)\in\mathrm{Hom}(A,B) に対応する;この射を ff と呼ぶ。

次に Ψ(Φ(η))=η\Psi(\Phi(\eta))=\eta(上の定理を F=hBF=h_B に適用したもの)を使って、η\eta のすべての成分を ff から復元する:任意の対象 XX と任意の g∈hA(X)=Hom(X,A)g\in h_A(X)=\mathrm{Hom}(X,A) について、Ψ(f)X(g)=hB(g)(f)\Psi(f)_X(g)=h_B(g)(f)。hBh_B の射への反変作用——前合成——を展開すると hB(g)(f)=f∘gh_B(g)(f)=f\circ g が得られる。よって ηX(g)=f∘g\eta_X(g)=f\circ g:η\eta のすべての成分は文字通り ff による後合成である。

Φ\Phi と Ψ\Psi が互いに逆な全単射である(上で証明済み)こと、そして ff による後合成がまさに Ψ(f)\Psi(f) であることから、ff を ff による後合成に送る割り当ては自体が全単射 Hom(A,B)→Nat(hA,hB)\mathrm{Hom}(A,B)\to\mathrm{Nat}(h_A,h_B) である——これがまさに yy が充満忠実であるという主張である。

大学応用:モジュライ空間と継続渡しスタイル

代数幾何学において、ある種の幾何学的対象(曲線、ベクトル束、……)のモジュライ空間は、まずテスト対象 XX をその幾何構造の XX 上の族の集合に送る関手 FF を書き下すことによって定義される;モジュライ空間は、存在するならば、FF を表現する対象 MM、すなわち F≅hMF\cong h_M である。米田埋め込みが充満忠実であることこそが、そのような MM が存在するとき一意な同型を除いて一意である理由である——Grothendieckの「点の関手」哲学は、すべてのスキームをその表現可能な前層に他ならないものとして扱う。関数型プログラミングでは、継続渡しスタイル関数の型 ∀r. (a→r)→r\forall r.\ (a\to r)\to r は、その構成により、共変Hom関手 Hom(a,−)\mathrm{Hom}(a,-) から恒等関手への自然変換の型である;(共変、双対の)米田の補題はまさに ∀r. (a→r)→rcong a\forall r.\ (a\to r)\to r \\cong\ a と述べ、CPS変換された値が通常の値を再パッケージしたものに他ならないという日常的な事実と一致する。

例: 二対象の圏で全単射を検証する

C\mathcal{C} が二つの対象 0,10,1、単位射、そして一つの非単位射 ι:0→1\iota:0\to1 を持つとする。A=1A=1、F=h1F=h_1 自身とする。この FF について Nat(HomC(−,A),F)≅F(A)\mathrm{Nat}(\mathrm{Hom}_{\mathcal{C}}(-,A),F)\cong F(A) が成り立つこと、すなわち Nat(h1,h1)\mathrm{Nat}(h_1,h_1) が h1(1)=Hom(1,1)h_1(1)=\mathrm{Hom}(1,1) と同じ個数の元を持つことを、直接の列挙により検証せよ。

解答

まず h1h_1 を明示的に計算する:h1(0)=Hom(0,1)={ι}h_1(0)=\mathrm{Hom}(0,1)=\{\iota\}(一元)、h1(1)=Hom(1,1)={11}h_1(1)=\mathrm{Hom}(1,1)=\{1_1\}(一元、C\mathcal{C} には 11 から 11 へ終わる他の射がないため)。よって F(A)=h1(1)F(A)=h_1(1) はちょうど一元 111_1 を持つ。

米田の補題により、Nat(h1,h1)\mathrm{Nat}(h_1,h_1) もちょうど一元を持つはずである。これを直接確認する:自然変換 η:h1⇒h1\eta:h_1\Rightarrow h_1 には成分 η0:{ι}→{ι}\eta_0:\{\iota\}\to\{\iota\} と η1:{11}→{11}\eta_1:\{1_1\}\to\{1_1\} が必要である。これらの集合はそれぞれ一元しか持たないため、各対象で可能な関数はちょうど一つ——恒等関数——であり、全体としてちょうど一つの候補 η\eta が得られる。

この候補が自然性を満たすことをなお確認する必要がある(ここでは自動的に満たされる。自然性四角形は η0(ι)=η0(11∘ι)=h1(ι)(η1(11))=h1(ι)(11)=11∘ι=ι\eta_0(\iota)=\eta_0(1_1\circ\iota)=h_1(\iota)(\eta_1(1_1))=h_1(\iota)(1_1)=1_1\circ\iota=\iota を強制するが、どのみち利用可能な値が一つしかないため成り立つ)。

よって Nat(h1,h1)={idh1}\mathrm{Nat}(h_1,h_1)=\{\mathrm{id}_{h_1}\} はちょうど一元を持ち、F(A)={11}F(A)=\{1_1\} がちょうど一元を持つことと一致する——全単射 Nat(HomC(−,A),F)≅F(A)\mathrm{Nat}(\mathrm{Hom}_{\mathcal{C}}(-,A),F)\cong F(A) が具体的に成り立ち、Φ(idh1)=(idh1)1(11)=11\Phi(\mathrm{id}_{h_1})=(\mathrm{id}_{h_1})_1(1_1)=1_1 が単一の元を直接復元する。

例: 米田としての継続渡しスタイル

関数型言語において、型 ∀r. (a→r)→r\forall r.\ (a\to r)\to r の値とは、aa を消費する任意の方法(関数 a→ra\to r)が与えられたとき rr を生成する関数 kk である。kk が型 aa の通常の値によって完全に決定され、それを復元できることを示せ。

解答

C=Set\mathcal{C}=\mathbf{Set}(あるいは型と関数の圏)と同一視し、対象 aa を固定し、F=IdF=\mathrm{Id} を恒等関手とする。値 k:∀r. (a→r)→rk:\forall r.\ (a\to r)\to r は、定義により、すべての型 rr に対する関数 kr:(a→r)→rk_r:(a\to r)\to r の選択である——これはまさに共変関手 Hom(a,−)\mathrm{Hom}(a,-) から Id\mathrm{Id} への自然変換である(ここでの自然性は、「すべての rr について」が強制するパラメトリシティそのものである)。

(共変、双対の)米田の補題から Φ\Phi を適用する:Φ(k)=k(ida)\Phi(k)=k(\mathrm{id}_a) は kk を r:=ar:=a で、恒等関数 ida:a→a\mathrm{id}_a:a\to a に対して評価し、型 aa の通常の値を生成する。これが「継続が値を決定する」方向である。

逆方向に Ψ\Psi を適用する:値 n:an:a が与えられたとき、すべての rr とすべての g:a→rg:a\to r について Ψ(n)r(g)=g(n)\Psi(n)_r(g)=g(n) と定義する——つまり Ψ(n)r(g)=g(n)\Psi(n)_r(g)=g(n)、値の標準的なCPS変換である:「任意の消費者 gg が与えられたとき、nn をそれに渡す継続」。

F=IdF=\mathrm{Id} に適用した米田の補題により、これら二つの構成は互いに逆である:Φ(Ψ(n))=Ψ(n)a(ida)=ida(n)=n\Phi(\Psi(n))=\Psi(n)_a(\mathrm{id}_a)=\mathrm{id}_a(n)=n が値を復元し、Ψ(Φ(k))=k\Psi(\Phi(k))=k は上の定理の自然性の議論を F=IdF=\mathrm{Id} に特殊化したものから従う。よって ∀r. (a→r)→rcong a\forall r.\ (a\to r)\to r \\cong\ a が成り立ち、継続渡しスタイルの値が通常の値の情報をちょうど、それ以上でもそれ以下でもなく運ぶことが確認される。

Φ\Phi は自然変換 η:hA⇒F\eta:h_A\Rightarrow F に対して何をするか?

Ψ(Φ(η))=η\Psi(\Phi(\eta))=\eta における一意性のステップは η\eta のどの性質に依るか?

継続渡しスタイルにおいて、型 ∀r. (a→r)→r\forall r.\ (a\to r)\to r はどの型と自然に同型か?

米田埋め込みが充満忠実であることから、モジュライ関手 FF を表現する対象 MM について何が結論できるか?

参考文献

  1. Saunders Mac Lane (1998). Categories for the Working Mathematician
  2. Emily Riehl (2016). Category Theory in Context
  3. Jacob Lurie (2009). Higher Topos Theory · arXiv:math/0608040