テレビでは、連日、それもかなり頻繁に、コロナウイルスが話題に上っている。感染症の一つなので、その数理的なモデルはパーコレーションである(複雑系という学問の中で、20世紀末から21世紀初頭にかけて多くの研究成果が発表された)。そしてこれを終息させる方策は、ウイルスを壊滅するか、全ての人が免疫を持つかの2通りの選択しかない。また進行を抑えるには、感染させる力が強い場所や人(これはハブと呼ばれる)を潰すのが効果的だ。しかし世界中に広く感染している現状では、ウイルスを壊滅することはほぼ不可能に近いので、全ての人とは言わないまでもほとんどの人が免疫を持たない限り解決には至らない。免疫を持つ方法には、罹患以外にワクチン投与がある。病状は呼吸器に現れて最悪の場合には呼吸困難となるので、生易しくはなく、絶対にかかりたくはない。早くワクチンが開発されることを期待しているが、1年程度はかかりそうだということなので、コロナウイルスとの戦いは辛い長期戦になりそうだ。
今では、人が集まる場所はほとんど閉鎖されている。4月からは2か所の歴史博物館でボランティアガイドを予定していたが、ここも状況は同じである。明治期の横浜開港や武士政権時の鎌倉の展示に優れている博物館が新たに加わり、活きた知識が増えることを楽しみにしていたのでが、しばらくは叶うことのない夢となってしまった。本来ならば、たくさんの行事が入っていたはずの予定表も、定期的に通わなければならない病院だけとなってしまい、思いもかけずたくさんの時間を自由に使うことができるようになった。
そこで、長い時間をかけなければ纏まりそうもない課題をということで、圏論をビジュアルに表現する方法について取り組むことにした。圏論には二つの側面がある。一つは計算で、もう一つは証明だ。計算はHaskellのような関数型のプログラミング言語を用いると、胸が湧きたつような実感を味わいながら、その過程を追うことができる。証明は、ストリング・ダイアグラムを用いることで、とても分かりやすく説明することができる。数学の分野のなかで、このように便利な道具を有しているものは圏論以外にはないので、とても気に入っている分野の一つだ。
ストリング・ダイアグラムについては、前のブログで最も面白い部分を紹介したが、今回は、基礎的なところから始めて米田の補題まで、通して説明することにしよう。
1.基礎
圏論(category theory)は、圏(category)と呼ばれるものが中心の概念になっている。圏は、対象(object)、射(morphism)、ドメイン(domain)とコドメイン(codomain)、恒等射(identity morphism)、射の合成(composition)で構成され、また単位律(identity)と結合律(associativity)が成り立つものである。
射は、ある対象からある対象への方向性のある関係を表す。出発点となっている対象の方をドメインと呼び、到着点となっている対象をコドメインと呼ぶ。自分自身への射を特別に恒等射と呼ぶ。さらに二つの射はつなぎ合わせる、すなわち合成すると、これは一つの射となる。ある射と恒等射の間で合成を行ったときは、恒等射はなかったかのように振る舞うのが単位律である。また複数個の射を結合し、それを計算しようとするときは、どこから始めてもよいというのが結合律である。圏は、とても簡潔な構成要素から成り立っているが、その簡潔さにもかかわらず、計算という概念を的確に表現してくれる。
二つの圏があったとき、これを対象と見なすと、これらの圏の間に射を定義することができる。このときの射は、特別な用語を用いて、関手(functor)と呼ばれる。このとき送り側で計算する場合と、受け側で計算する場合の2通りの計算経路が存在するが、関手は、どちらでも同じであるという性質を有している。二つの圏とその間の関手により構成された圏は関手圏と呼ばれる。
関手は一つとは限らず複数個用意することも可能である。このようなとき、関手と関手とを結ぶ射を考えることができる。関手の場合と同じように、異なる計算経路が現れるが、経路に寄らず計算結果が同じとなる射を、特別に自然変換(natural transformation)と呼ぶ。
すごい勢いで自然変換まで説明したが、これはストリング・ダイアグラムを説明するときに自然変換を必要とするためである。必要になったときに改めて数学的に厳密な定義を与えるが、これまではとりあえず感覚的に把握して欲しい。
関手圏を図的に(例えばpasting diagram)表すときは、これまでは、その対象すなわち対象と見なした圏を0次元の点で、その射すなわち関手を1次元の矢印で、自然変換を太めの矢印で示していたが、ストリング・ダイアグラムでは、自然変換を0次元の点で、関手を1次元の線分で、そして対象となった圏を2次元の平面で表す。
1.1 射
ここでは、圏の中で最も重要な概念である射をストリング・ダイアグラムで表すことを考えよう。
圏\(\mathcal{C}\)は、図1に示すように、射\(f\)、ドメインとなる対象\(X\)とコドメインとなる対象\(Y\)とで構成されているとしよう。このほかに、対象\(X,Y\)自身に移す恒等射\(I_X,I_Y\)が存在するが、図には取り敢えず含めないことにし、結合についても同じことにしてて、ストリング・ダイアグラムを書くことに専念する。
\(\mathcal{C}\)の他にもう一つ圏\(\mathcal{1}\)を考えることにしよう。これはとても単純な圏で、一つの対象(1要素の集合)で成り立っているとしよう。圏\(\mathcal{1}\)と圏\(\mathcal{C}\)を関手で結んだ関手圏、これは図2に示す、を考えることにしよう。関手には、圏\(\mathcal{1}\)と\(\mathcal{C}\)の対象\(X\)とを結んだ関手\(X\)と対象\(Y\)とを結んだ関手\(Y\)とを考えることにしよう。
二つの関手の間は、自然変換\(f\)で結ぶことができる。関手圏では対象は関手であり、射は自然変換である。この関手圏は、構造が複雑ではないので、関手も自然変換も、計算の経路は一つだけで、自然変換\(f\)は、従来の考え方での関数\(f:X \rightarrow Y\)と同じふるまいをする。
そこで、関手圏を通常広く利用されているpasting diagramで表すと図3となる。
そこでそれぞれを表す次元を逆にして、関手のドメインとコドメインになっている圏\(\mathcal{C}\)と圏\(\mathcal{1}\)を2次元の平面で、関手である\(X,Y\)を1次元の線分で、自然変換\(f\)を0次元の点で表すと図4となる。この図の見方は、左から右へ、下から上へである(向きは研究者によって異なる)。この図を左側から右側へと見たときに、図の下部では、圏\(\mathcal{C}\)から関手\(X\)を経て圏\(\mathcal{C}\)に移っていることが示されている。また、上部では関手\(Y\)を介してである。また、下から上へと見たときは、関手\(X\)から自然変換\(f\)を経て、関手\(Y\)に至ることが分かる。
しかし今後はもう少し簡略化して図5に示すように、0次元の点のところは自然変換に付けられた名前で表すことにする。また上方向に、射が向かっていることを明示するために矢印もつけることにした。
今日の説明はここまで、次回は集合の要素の表し方についてみていこう。
用語説明:関数とは
圏論での対象と射という用語は、高校で学んだときの集合と関数に対応し、これらを抽象化した概念である。そこで、手始めに関数について説明しよう。
今から思うとかつての中学校はとても素朴であったと感じるのだが、あるとき、担任の先生が「君たちのことをもっとよく知って今後の教育に役立てたい。そこで紙を配るので、男子は好きな女子の名前を、女子は好きな男子の名前を、一人だけ書いて提出しなさい」と言われた。教室は、ざわざわとしたあと、皆が考え始めたのか静寂となり、そうこうするうちに鉛筆を走らせる音があちらこちらから聞こえてきた。いまでも強く印象に残っている光景なのだが、誰の名前を書いたかを今となっては思い出すことはできないし、先生がどのように利用したのかも分からない。
ところでこれは関数のいい例だ。関数は、集合と集合の間を関係づけるものと考えることができる。男子の集合を\(B\)、女子の集合を\(G\)としたとき、「好きな女子の名を書く」という関数\(f\)は\(f:B \rightarrow G\)となる。逆に好きな男子という関数\(g\)は\(g:G \rightarrow B\)となる。
関数の出発点となっている集合をドメイン、到着点となっている集合をコドメインという。\(f\)の場合、ドメインは\(B\)、コドメインは\(G\)である。関数は通常はドメインの集合の全ての要素について定義されている必要がある(このような関数を全関数という。そうでない関数を部分関数という)。従って、先の中学校の例では、全ての生徒が誰かの名前を書いて提出することが関数となる必要な条件となる。白紙で出されると先生の意図は満足されず、関数としての要件も満たさないことになる。一方、複数の男子が同じ女子を好きで競合することは構わない。逆もそうだ。冷酷な現実だが、名前が記されない生徒が出るということは許されている。
さて、男子が\(m\)人、女子が\(n\)人いたときに、\(f\)と\(g\)はそれぞれどれだけ異なるものが存在するのだろうか。それほど難しい問題ではない。\(f\)に対しては、それぞれの男子に対して\(n\)通りの選択があり、男子の数は\(m\)なので、\(n^m\)となる。\(g\)に対しては\(m^n\)となる(先の関手圏では、ドメインの方が1要素、コドメインの方が2要素なので、射である関手は2通り存在することとなる)。ドメインの全ての要素が、コドメイン側の異なる要素に対して関係づけられているとき、単射という。例えば、男子の間で、好きな女子を巡って重なり合うことはないというのは単射である。また、全てのコドメインの要素に対して、それに関連付けられたドメインの要素があるとき、全射という。例えば、全ての女子に対して、好きだと思っている男子が必ずいるというのは全射である。
それでは、男女が同数であったとしよう。すなわち\(m=n\)としよう。そして私が好きと思っている人は、その人も私を好きと思ってくれている類まれなケースを考えてみよう。これを式で表すと、男子生徒\(a\)が好きな女性\(b\)は、この男子生徒を好きなので、\(g \circ f (a) = a\)となる(ここで\(b=f(a)\))。そして同じ人を好きになることはないので、任意の男子生徒\(a,a'\)に対してそれぞれが好きな女子生徒を\(b,b'\)とすると、\(b \neq b'\)である。女子側から見ると\(f \circ g (b) = b\) となる。自分自身に移す恒等関数を\(i\)とすると、それぞれ\(g \circ f = i\),\(f \circ g = i\)となる。このような写像\(f,g\)は同型写像(isomorphism)と呼ばれ、\(g = f^{-1}\)と記される。同型写像は、全単射となっていることに注意しておこう。なお同型写像であるとき、ドメインとコドメインは同型(isomorphic) であるという。構造的な差異がないということである。
最後に問題です。男子と女子の生徒数が同じであったとし、男子の方も女子の方も、全員が別々の名前を書いたとする。このとき、関数\(f,g\)を何回行ったり来たりすると元に戻るでしょうか?例えば男子\(a\)は女子\(b\)を、女子\(b\)は男子\(c\)を、男子\(c\)は女子\(d\)を、女子\(d\)は男子\(a\)を書いたとすると、\(a \rightarrow b \rightarrow c \rightarrow d \rightarrow a \)となり、2往復で戻ってくる。これは巡回群へと導くがそれについてはまた後で。