bitterharvest’s diary

A Bitter Harvestは小説の題名。作者は豪州のPeter Yeldham。苦闘の末に勝ちえた偏見からの解放は命との引換になったという悲しい物語

モノイドー小さい圏の圏での記述

13.3 小さい圏の圏での記述

これまで、算数で最初に学んだ加算・乗算に代表されるモノイドと呼ばれる二項演算を、圏論でどのように記述したらよいのかについて話を進めてきた。即ち、アセンブラ言語でのように処理を具体的に記述するのではなく、高級言語でのように物事がどのように成り立っているかを構成的に記述しようと試みてきた。これは、モノイドのそれぞれについて具体的に個別に記述を進めるのではなく、モノイドと呼ばれるものが有している性格を抽象的に汎用的に進めようとするアプローチである。前者が技法的なアプローチであるのに対して、後者は科学的なアプローチでもある。

構成を記述する圏論では、構成図を利用することで可視的に計算の概念を示すことができる。モノイドがどのように構成されているのかについて説明するときも、式を展開していくよりは、構成図がどのように変化していくかを示すことで、書き手にとっても、読み手にとても、理解しやすくなる。そこで、ここでは、構成図をうまく利用して、分かりやすい形で求めてみよう。

集合から射へ

前回の記事で、モノイドの例を一つ紹介した。下図での左側がそれである。

f:id:bitterharvest:20171005093645p:plain

ここでは、代数学での記述法に従って、集合\(S=\{0,1,2-\sqrt{3},2+\sqrt{3}\}\)、単位元1、二項演算子\(*\)と表されているものを、圏論での記述に従って、左側の構成図で表した。この図は圏の構成を満たしている。即ち、
1)対象が星
2)射が\(\{0,1,2-\sqrt{3},2+\sqrt{3}\}\)
3)ドメインとコドメインが星
4)恒等射が1
5)合成が\(\times\)
である。また、単位律、結合律は満たされている。

上図の右側は、対象がモノイドであることを、明確にしたものである。数としての\(0,1,2-\sqrt{3},2+\sqrt{3}\)は加減乗除を始めとする様々な二項演算に使われる。そこで、これらが、乗算で用いられることを明確にするために、\(Product\)と呼ばれるコンテナを付与した。右側も、左側と同様に圏であることに注意しよう。このため、圏\(\mathcal{A}\)と圏\(\mathcal{B}\)は関手\(Product:\mathcal{A} \rightarrow \mathcal{B}\)によって結ばれていると見ることができる。

集合の構成要素を一般化して、上図を少しだけ抽象化すると下図を得る。何となく圏論らしくなってきたのが分かるだろう。
f:id:bitterharvest:20171005101640p:plain

右側の圏は、
1)対象が星
2)射が\(\{M(f),M(g),...\}\)
3)ドメインとコドメインが星
4)恒等射が\(id_B=M(id_A)\)
5)合成が\(\circ\)
である。また、単位律、結合律は満たしている。

ここまでの変換で、代数学で集合として表されていたものが、圏では射の集合として表されていることが分かる。でも、集合であることには変わりはない。

小さい圏の圏へ

一般に、小さい圏を対象とし、圏と圏を結ぶ関手を射とする圏を小さい圏の圏(category of small categories)という。もちろん、恒等射と合成を有し、単位律、結合律は満たさなければならない。なお、小さい圏とは、対象と射の集まりがそれぞれ集合となるときを言う。

下図は、
1) 対象:圏の集まり\(\{\mathcal{A},\mathcal{B},\mathcal{C}\}\)
2) 射:関手の集まり\(\{F,G,H\}\)
3) ドメイン・コドメイン:\(\{F :: A \rightarrow B, G :: B \rightarrow C, H :: A \rightarrow C \}\)
4) 恒等射:\(I_A,I_B,I_C\)
5) 合成:\(\circ \)
である。
f:id:bitterharvest:20190527112518p:plain

それでは、二つ前の図を小さい圏の圏\(\mathcal{Cal}\)にしてみよう。恒等射の部分を除くと下図のようになる。
f:id:bitterharvest:20190527112553p:plain
さらに、この小さい圏の圏\(\mathcal{Cal}\)において、\(\mathcal{B}\)から同じように関手\(M\)で\(M(\mathcal{B})\)に接続しよう。
f:id:bitterharvest:20190527112609p:plain
これをさらに行うと、小さい圏の圏は無限に関手\(M\)で結合された圏となる。ところで、元に立ち戻って、\(Product\)で考えると、これは\(x\)を乗算ができる世界へと持ち込んだ。これが、\(Product(x)\)である。これをもう一度乗算ができる世界へ持ち込むと\(Product (Product (x))\)となるが、元々、乗算ができる世界に存在しているので、\(Product (Product (x))=Product(x)\)となる。

そこで、\(Product\)を一般化し、二項演算を行えるようにする関手を\(M\)としたとき、\(M(M(\mathcal{A})) = M(\mathcal{A})\)となる。このため、下図のように表すことができる。
f:id:bitterharvest:20190527112626p:plain
視点を変えるために、\(M\)を外に出るように書いた。このように記述すると、\(M\)は圏\(\mathbf{Cat}\)から\(\mathbf{Cat}\)への関手に見えないだろうか。\(M::A \rightarrow B, B \rightarrow B \)であるので、このような見方は可能である。これは、ある圏から同一の圏への関手であるため、自己関手と呼ばれる。

それでは、この図に、恒等関手\(I\)を追加しよう。
f:id:bitterharvest:20190527112642p:plain
ここで、\(\forall x \in A \cup B, I:: x \rightarrow x\)である。

それでは、二項演算\(M\)のために用意した小さい圏の圏をまとめておこう。
1) 対象:圏の集まり\(\{\mathcal{A},\mathcal{B}\}\)
2) 射:関手の集まり\(\{M\}\)
3) ドメイン・コドメイン:\(M :: A \rightarrow B, B \rightarrow B\)。
4) 恒等射:\(I\)
5) 合成:\(\circ \)
もちろん、単位律、結合律は満足しなければならないが、この他に、二項演算が成り立つようにしなければならない。これについては次の記事で述べる。