Just $ A sandbox

プログラミングと計算機科学とかわいさ

美少女と学ぶ圏論

ここまで書いて飽きました.

1章 圏とその構造

1.1 圏の定義と千景の講義

「4月からのゼミはもう決めた?」
「うん. とりあえず,クラスの子とホモロジー代数ゼミをやろうと思ってるよ. 春休みのうちに予習を進めないと」
「ふぅん,ホモロジー代数ね」
 千景は読んでいた本をパタンと閉じて, 勢い良く立ち上がったと思ったら大きく伸びをして, つかつかと足を引っ掛けるようにして黒板の前まで歩き, そのあと立ち止まってからくるりと振り返ってこちらを見た.
「homologyはいいね. 複雑な空間から単純だけど重要な情報を抜き出せる. 複雑に絡み合った網の中の, 本当に大切なものを拾い上げるようにして情報が得られる. homologyはとてもいいよね」
「千景はホモロジー代数もやってるの?」
「必要な時に扱うだけね. Abelian categoryはそんなに詳しくないし」
「あーべりあんかてごりー?」
「そうか, 君はcategory theoryはやってないんだっけ?」
「カテゴリー…あーうん, 圏論か. 聞いたことはあるよ. 触れたことはないけどね. 元がとれないとかなんとか…」
 千景はスッとこちらを見て, ふらふらとした足取りでこちらへやってきた. そして顔を覗きこんでくる.
「圏というのは群とか体と同じような構造の名前. でも, 君のよく知っている構造とは少し違うかな. 圏は群や体よりもう少し広域的な視点なの. 言ってみれば, "群"そのものじゃなく, "群全体の構造"みたいな」
「どういう意味?」
 千景はまた黒板の方に向き直る. 今度はキビキビとした動作で黒板の前を陣取って, チョークを手に持った.
 背が高いとはお世辞にも言えない体では, 一番上から文字を書くのはつらそうだ. けれどそのことを言うと彼女はへそを曲げてしまう. 夕焼けが黒板の左半分を紅く照らしていた. 日暮れ時の風が窓から吹き込んで, カーテンと千景のサラサラした長い髪を巻き上げて逃げていった.
「例えばだけど, 圏の例はそれこそ山ほどあるの. そのうちの一つが群の圏. 圏それ自体は言ってみれば無味乾燥なんだけど, 細かい条件をつけると色々なことができるようになる」
「例えば?」
Abel群の直積と直和は一致する. Abel圏の直積と直和も一致する」
Abel圏はAbel群の一般化ということ?」
「そうね. Abel圏はAbel群や, R加群の圏の一般化. ホモロジー代数が展開できるような圏ってこと. だから重要」
「なるほど」
圏論それ自体が, 他の分野とつながっていることはよくあるの. 今言ったみたいに, Abel圏上ではホモロジー代数ができる. 同じようにホモトピー論ができる圏や, コホモロジー論ができる圏なんかもあるね」
「全然想像つかないや」
「応用例なら計算機科学分野にもよく見られるかな」
「計算機科学?」
「computer scienceね. さっき君が言ったように, 圏論は"元がとれない"と言われる. それは相手にするものが集合とは限らないからなの. 集合とは限らないものに対して議論をするから, 集合論を前提にしていない分野に応用されることもある」
「それが計算機科学ってこと?」
「もちろん他にもあるけどね」
 教室はしんと静まり返っていて, まるでたくさんの人たちが彼女の話に耳を傾けているような気になった.
「あるいはもっと純粋な圏論もある. 圏論それ自体を研究する分野. 極限まで抽象化を重ねたその先にあるのはなんだろう, とかね」
「そこに何かがあるわけ?」
「どうかな. でも, 広大な圏論がたった一つの概念で全て説明できたら面白いと思わない?」
「…そんなに上手くいくかなぁ」
「上手くいかない理由があるわけじゃないでしょ. あと最近の流れでは, 圏論をベースに数学を置き換えるなんてことをしている人もいるみたい. ある圏の上で集合を模倣する, 集合論ができる圏みたいなものがあって, それを使うと集合論ベースだった数学は全部圏の言葉で書き直せるんじゃないかってね」
「数学を置き換える?それって大変じゃないの?」
「まぁそりゃあそうでしょうね. でも圏論の言葉で書くから分かることもあるよ. 本質的なことが何かってことが見えやすかったり, 抽象的な議論で済ませることができたりね」
「なるほどね」
「話を戻そうか. 圏というのは, 例えば群と群準同型, みたいなものの集まりね. 点と矢印の集まりみたいな感じ」
 千景が点をたくさん打ってから, 点と点の間にめちゃくちゃに矢印を書いた.
「つまり, 群が点で, 矢印一つ一つが群準同型になるような圏があるわけだね」
「そうね. それは圏の例の一つ. でも圏の例は他にももっとたくさんあるよ. 定義を書こうか」
 千景はすらすらと, 黒板に定義を書いた.

Definition \(\mathcal{C}\)が圏とは, 対象, 射, dom, codom, 合成の組からなるものであって, 以下を満たすもののことである.

  • (dom, codom) dom, codomは射から対象への対応とする. 射\(f\)であって, \(\mathrm{dom}(f)=A, \mathrm{codom}(f)=B\)であるようなものを\(f : A \to B \)と表記する.
  • (合成の存在) 任意の射\(f,g\)に対し, \(\mathrm{dom}(f) = \mathrm{codom}(g)\)を満たすならば, 射\(f \circ g : \mathrm{dom}(g) \to \mathrm{codom}(f)\)が定義される.
  • (identityの存在) 任意の対象\(X\)に対し, 射\(1_X : X \to X \)が存在する. これをidentity arrowとよぶ.
  • (identity laws) 任意の射\(f : A \to B \)に対し, \(f \circ 1_A = f = 1_B \circ f \).
  • (associativity law) 合成が定義できるような射\(f,g,h\)に対し, \(f \circ (g \circ h) = (f \circ g) \circ h \).

Definition \(\mathrm{Hom}_\mathcal{C}(A,B) = \{f : A \to B; f \text{は} \mathcal{C} \text{の射} \}\) (\(f : A \to B \)の形の射全体をHomで表す.)

「始めの3つはあとの公理を成り立たせるために必要な条件を述べているだけね. 公理として機能するのは最後の2つ」
「identity lawとassociativity law…モノイドみたいだね」
「monoidは底集合に対して単位元が1つ存在. 圏は全ての対象に対して恒等射が存在」
「ならモノイドとはかなり違うかぁ. モノイドは圏じゃないんだね…」
「待ちなさい」
 千景はキリッとした顔をこちらに向ける. 大きな目の奥が一瞬, キラリと光ったように見えた.
「圏になるかどうかはどういう対象とどういう射を考えるかに依る. 圏の例をいくつか見て, 圏という構造に慣れましょう」

Example

  • \(\mathbf{Set}\): 対象を集合, 射を集合から集合への写像とする圏. dom, cod写像のdomain, codomainとし, 合成は写像の合成, 恒等射は恒等写像と考える.

「これはいいわね?」
「えっと, 任意の集合が対象になるんだね. 恒等写像に対してなら恒等射律も言えるし, 写像の合成に関して結合律も言えるね. いいよ」

  • \(\mathbf{Group} \; (\mathbf{Mon}, \mathbf{Ring}, \mathbf{Vec}_\mathbb{C}, \mathbf{Ab}) \): 対象を群(resp. モノイド, 環, \(\mathbb{C}\)上のベクトル空間, アーベル群), 射を準同型とする圏.
  • \(\mathbf{Top}\): 対象を位相空間, 射を連続写像全体とする圏.

「これもいい?」
「群の圏…さっき言ってたやつのことだね. モノイドとか環とかも確かに圏になるね」

  • poset \(P\): \(P\)を半順序集合(partially ordered set)とする. 対象は\(P\)の元, 射は\(a \leq b \iff a \to b \)によって, "順序関係があること"によって定める.

「じゃあ, これはどう?」
「えーっと, 確認だけど, 半順序っていうのは反射律と推移律と反対称律が成り立つ順序だよね?」
「そう. 全順序じゃないことがポイントね. 任意の2元は大小関係が"ある"or"ない"のどちらかだから, 前者は射がある, 後者は射がないとみなすってこと」
「ふむ」
\(a,b \in P \)に対し, \(a \leq b \)なら\(\mathrm{Hom}(a,b)\)は1点集合. そうでなければ空集合
「なるほど, なんとなくわかった気がする」
「このように, Homがたかだか1点しかない圏を痩せた(thin)圏と言う. 射が少ないから痩せてるんだね」

  • group \(G\): \(G\)を群とする. 対象は\(G\)のみ, 射は\(g \in G \)に対し\(G \to G; x \mapsto x \star g \)全体を考える.

「さて, これはどうかな」
「対象は$G\(1つしかないんだね」 「そう. その代わり, 射が\)G\(の元の数だけある. \)G$の単位元から定まる射が恒等射になる」
「なるほど」
「これと同じ理屈で, モノイドも圏になるよ」
「"単位元がある"から恒等射が作れるって話か」
「こんなのもある」

  • 双対圏 \(\mathcal{C}^{op}\): \(\mathcal{C}\)を圏とする. 対象は\(\mathcal{C}\)と同じ, 射は\(\mathcal{C}\)の射を向きだけ反転させて得られる圏\(\mathcal{C}^{op}\)を双対圏という.

「射の向きだけ反転?」
「そう. 圏を点と矢印で書くと, その矢印の向きをひっくり返したものが双対圏. 他の分野の"双対"って言葉はここから来ている. 双対には"余"という漢字を当てることもあるよ」
「僕が知っているのはベクトル空間の双対空間くらいかな. そういえば, 多様体の接空間と余接空間は, 双対空間だけど"余"という漢字を当ててるね」
「そうね. とりあえずこのくらい分かってもらえればいいかな」
「よく出てくる圏はこれくらいなの?」
「いや, そんなことないよ. もっと面白い圏に触れるためには色々準備が必要だから」
 千景はニコニコしながら, こちらを見ている.
「圏の例を挙げたけど, これだけじゃあ何もわからないでしょうね」
「そうだね. 圏になることは分かるんだけど, これをどうやって使うのかは全然イメージが沸かないな」
「例えば」
 千景がチョークを持った手でこっちを指さす.
「いくつかの圏では共通することがあるね. 例えばだけど…集合, 加群, 環, 位相空間. これらには全て"直和"が定義される」
「集合の直和っていうのは, 添字をつけてdisjoint unionを取るんだっけ. 加群の直和は形式的な有限和に加群の構造を入れたもので, 環はテンソル積で, 位相空間は集合として直和を取って位相をいれるんだね」
「そう. でもこれらはあまり似ているとは思えないのに, "直和"と名前が付いているのはどうしてかな」
「うーん…気にはなってたけど, 理由は知らないなぁ」
「実は, 一般の圏に"直和"(coproduct)という概念が定義できて, 集合の圏や加群の圏だと今君が言った直和と一致するからなんだ」
「え?本当に?」
「そう. 他にもこうやって一般の圏で考えることで見えてくるものはあるよ. 一般化によって高い視点で物事を捉えられる. 異なる構造に共通する部分を見つけたり, より本質的なことを考えたり」
「なるほどねえ」
「どう, 少しは興味が沸いてきた?」
 千景がキラキラした目でこちらを見つめてきた. こういうときの彼女はすごく楽しそうで, 僕としてもそんな彼女を見ているのはとても好きなんだけど, 残念ながらもう帰る時間だ.
 すでに日は暮れて, あたりは暗くなっていた.
「どうだろうね. それより, 帰ってレポート仕上げなくちゃ」
「えー」
「そんな顔しないでよ」
「んー. じゃあ今日のところは勘弁してあげよう. その代わり, 来週までにこれの関手と自然変換のセクションまで読んできて」
 そう言って, 千景はカバンからホッチキス留めされた紙の束を取り出した.
「なにこれ…何かのpdf?」
「まぁそんなところ. それじゃあ, よろしく!」
 千景は長い髪をひらひらさせながら, 教室を飛び出していった.
 僕は黒板を綺麗に消してから, 教室を後にした.

参考

千景が言っている"色々な"圏論については以下のキーワードなどを参照してみてください.