unit と counit

関手の随伴関係の復習をしてみる。圏 C から圏 D への関手 F : C -> D とその逆方向の関手 G : D -> C がある時、任意の圏 C の対象 A, その関手 F による像 F(A) -- これは圏 D の対象である-- と、圏 D の対象 B と関手 G による B の像 G(B) があるとき、

F(A) -> B

となる圏 D の全ての射の集合 homD(F(A), B) と

A -> G(B)

となる圏 C の全ての射の集合 homC(A -> G(B)) との間に全単射の関係、すなわち、両方の集合の要素である射が1対1に対応している時、関手 F と関手 G は随伴関係にあるといい、

F -| G

で表す。この場合 F は G の左随伴であり、G は F の右随伴である。

これで何が嬉しいかというと、圏 C の対象 A に射 f を関数適用した結果 f A の計算が難しい時、A を一旦関手 F で圏 D に写像した時の像 F(A) に射 f の像 g を関数適用させた結果 B = g F(A) を再び関手 G で圏 C に写像してやることによって、答え G(B) を求めることができるということだ。この表現は集合的な表現で圏論的な表現ではないので注意が必要だが、言わんとする所のものは一緒だ。4つの対象と射の関係を再掲する。

g : F(A) -> B
f : A -> G(B)

この対応関係は F -| G という随伴関係がある場合、圏 C と圏 D のどんな対象についても成立するから、対象 B が F(A) の時でも成り立つ。すなわち、

g : F(A) -> F(A)
f : A -> G(F(A)) = GF(A)

このことは F(A) -> F(A) という射が存在すれば、ηA : A -> GF(A) という射が存在するということを示している。ここで、F(A) -> F(A) という射は対象 F(A) からそれ自身への射 endomap だ。圏の性質から F(A) の endomap は少なくとも恒等射 IdF(A) が存在するから、

ηA : A -> GF(A)

となる射が必ず存在する。この ηA がこの随伴の unit と呼ばれる。上の議論からわかるように、随伴の場合 unit に対応する射はかならずしも IdF(A) でなくてもいい。この unit の考え方はモナドに由来している。

同様の議論を圏 D について行うと、

εB : FG(B) -> B

という射の存在も導出できる。これを counit という。counit に対応する射は IdG(B) を含んでいる。

証明は省略するが、F -| G という随伴関係の定義と、unit と counit の存在は同値関係にある。したがって、F と G の随伴関係については定義を用いても、unit と counit の存在を証明することでも検証することができる。

また、これも証明は省略するが unit と counit の存在と GFGF(A) -> GF(A) の射が存在することを合わせると GF : C -> C となる圏 C の自己関手 GF はモナドとなることがわかる。

この記事では unit と counit のイメージを作ることが目的だったので細かい証明は省いた。厳密な理解は参考書を読んでほしい。

これは管理人の印象だが、随伴 F -| G が圏 C の世界を圏 D の世界に変換して(例えば直交座標と極座標の変換のように)圏 D の世界の演算結果を再び圏 C の世界に変換するという構造を表現しているようだ。また unit は圏 C の世界に圏 D の世界の構造を投影しているというふうにも見える。

圏論の言葉を理解するようになったら、このような「構造」という曖昧な表現を簡潔で明快な用語や概念で表現できるようになるのかもしれない。こういう意味で圏論の知識は集合の知識と同じように、様々な数学的、非数学的構造を表現するための基礎的な共通言語とみなされるようになるのかもしれない。
[PR]
by tnomura9 | 2014-07-09 00:32 | 圏論 | Comments(0)
<< cone と limit プログラマのための圏論攻略法 >>