復習と復讐〈リベンジ〉 2 (C A13)

2020年1月19日に、コモノイドの簡単な事例を構成しようとして失敗したので、少し変更したモノイド圏において、コモノイドを構成・決定する(リベンジ)。関連して復習もする。

モノイド構造/コモノイド構造は、環境・世界となるモノイド圏のなかで定義される。モノイド構造/コモノイド構造がどのくらい存在しているか(モノイド/コモノイドの豊富さ)は、環境・世界となるモノイド圏の特徴付けになる。

内容:

モノイド圏の定義

小さい厳密モノイド圏〈small strict monoidal category〉の定義は簡単である。ここで、形容詞「小さい」〈small〉は、圏の対象の集合とすべてのホムセットが、集合論で認める集合(小さい集合と呼ぶ)であること。「すべての集合の集合」は集合論で認める集合=小さい集合ではないから、Set は小さい圏ではない。

小さい厳密モノイド圏とは、小さい圏と関手からなる圏 Cat のなかのモノイドのこと。なので、小さい圏Cと、2つの関手 P:C×CC, J:IC がモノイドの条件〈モノイドの公理〉を満たせばよい。

もちろん、モノイドの条件は可換図式として与える(ストリング図でもいいけど)。

\require{AMScd}
\newcommand{\For}{\mbox{For}\:\:} \newcommand{\incat}{\:\: \mbox{in}\:}
\newcommand{\cat}[1]{{\mathcal {#1} }}
\newcommand{\thecat}[1]{{\bf {#1} }}
\begin{CD}
(\cat{C} \times \cat{C}) \times \cat{C} @>{\cong}>> \cat{C} \times ( \cat{C} \times \cat{C} ) \\
@V{P \times Id_\cat{C} }VV                          @| \\
\cat{C} \times \cat{C}                  @.          \cat{C} \times ( \cat{C} \times \cat{C} ) \\
@V{P}VV                                             @VV{Id_\cat{C} \times P}V \\
\cat{C}                                 @<{P}<<     \cat{C} \times \cat{C} \\
\end{CD} \\
\mbox{commute} \incat \thecat{Cat}
\;\\
\;\\
\begin{CD}
\thecat{I} \times \cat{C}    @>{\cong}>>   \cat{C} \\
@V{J \times Id_\cat{C} }VV                 @|      \\
\cat{C} \times \cat{C}      @>{P}>>        \cat{C} \\
\end{CD} \\
\mbox{commute} \incat \thecat{Cat}
\;\\
\;\\
\begin{CD}
\cat{C} \times\ \thecat{I}    @>{\cong}>>   \cat{C} \\
@V{Id_\cat{C} \times J }VV                 @|      \\
\cat{C} \times \cat{C}       @>{P}>>       \cat{C} \\
\end{CD} \\
\mbox{commute} \incat \thecat{Cat}

これは、通常のモノイドの条件(念の為に下に書いておく)を Cat に移しただけなので、記憶負担はまったくない。「図式思考の例として、コモノイドについて考えてみる」で述べたように、可換図式の内容をテキストに翻訳すれば、幾つかの等式からなる厳密モノイド圏の定義が得られる(面倒だから今はしないけど)。

参考に、通常の(集合圏内の)モノイドの条件:


\begin{CD}
(A \times A) \times A @>{\cong}>> A \times ( A \times A ) \\
@V{m \times id_A }VV                          @| \\
A \times A                  @.          A \times ( A \times A ) \\
@V{m}VV                                             @VV{id_A \times m}V \\
A                           @<{m}<<     A \times A \\
\end{CD} \\
\mbox{commute} \incat \thecat{Set}
\;\\
\;\\
\begin{CD}
\thecat{1} \times A    @>{\cong}>>   A \\
@V{i \times id_A }VV                 @|      \\
A \times A      @>{m}>>        A \\
\end{CD} \\
\mbox{commute} \incat \thecat{Set}
\;\\
\;\\
\begin{CD}
A \times\ \thecat{1}    @>{\cong}>>   A \\
@V{id_A \times i }VV                 @|      \\
A \times A       @>{m}>>       A \\
\end{CD} \\
\mbox{commute} \incat \thecat{Set}

ちなみに、Cat内のモノイド=厳密モノイド圏と、Set内のモノイド=通常のモノイド を定義する可換図式は、機械的文字列置換で作っている。つまり、両者は機械的文字列置換の差しかない、共通な構造ということになる。「図式思考の例として、コモノイドについて考えてみる」で書いたとおり、檜山は、テキスト等式を並べた定義はまったく覚えてないし、覚えることが出来ない(記憶力が非常に乏しい)し、ハナから覚える気もない。「小さい厳密モノイド圏は、Cat内のモノイド」と覚えているだけ。

さてところで、小さい厳密モノイド圏だけでは不十分なのである。集合圏は、直積と単元集合をモノイド積と単位対象としてモノイド圏になるが、

  1. 集合圏は小さな圏ではない。集合の全体は集合ではないから。
  2. 結合律や単位律が等式として成立しない。例えば、(A×B)×C = A×(B×C) ではない。

法則(ナントカ法則、ナントカ律)が等式として成立するとき形容詞「厳密」〈strict〉を付ける。国語辞書に載っている「厳密」ではなくて、圏論のテクニカルタームである。

必ずしも小さくはなく、必ずしも厳密ではないモノイド圏の定義は難しくなる。なので割愛するが、だいたいは、イコール(=)が同型(\cong)になると思っていればよい。

[補足]
Cの2つの対象 A, B が同型〈isomorphic〉とは、2つの射 f:A→B, g:B→A が在って、

  • f;g = idA かつ g;f = idB

が成立していること。AとBが(Cにおいて)同型であることを A \cong B と書く。

集合圏で、{1, 2, 3} と {4, 5, 6} は同じではないが同型になる。「同型だが異なる対象」が存在しない圏を skeletal〈骨格的〉とか gaunt〈骨皮〉とか呼ぶ。

  • C が skeletal :⇔ C の任意の対象 A, B が A \cong B ならば、A = B である。

[/補足]

圏NOC と 圏NOC2

NOCは、「Natural numbers の Order に基づいた Category」という意味。

圏NOCの定義:

  • 対象の集合: Obj(NOC) = |NOC| = N
  • 射の集合: Mor(NOC) = {(n, m)∈N×N | n ≦ m}
  • dom: dom(n, m) = n (ほんとは、dom((n, m)) と書くべきだが、習慣により括弧を省略した書き方
  • cod: dom(n, m) = m
  • id: id(n) = idn = (n, n)
  • comp: comp((n, m), (m, ℓ)) = (n, m);(m, ℓ) = (n, ℓ)

NOC2では、自然数に無限大∞を付け加える。順序は大小順序だが、∞はどの自然数よりも大きいとする。

圏NOC2の定義:

  • 対象の集合: Obj(NOC2) = |NOC2| = N∪{∞}
  • 射の集合: Mor(NOC2) = {(n, m)∈(N∪{∞})×(N∪{∞}) | n ≦ m}
  • dom: dom(n, m) = n
  • cod: dom(n, m) = m
  • id: id(n) = idn = (n, n)
  • comp: comp((n, m), (m, ℓ)) = (n, m);(m, ℓ) = (n, ℓ)

NOCもNOC2もやせた圏で、∞の有る無ししか差がない。NOCとNOC2の射はペア (n, m) だが n≦m という条件が付いている。なので、射を表すために、不等式を括弧で囲んだ (n≦m) も使う。

  • (2≦5):2→5 in NOC
  • (100≦∞):100→∞ in NOC2
  • (2≦5);(5≦10) = (2≦10) :2→10 in NOC
  • (100≦∞);(∞≦∞) = (100≦∞) : 100→∞ in NOC2

対象や射の実体はなんだっていいし、対象や射を命名したり書き表す方法もなんだっていいので、場合に応じて自由に適当に決める。実体にも記法にも拘らない、縛られない。

拘らない/縛られない/執着しない点において、「圏論の手法やスピリッツは、大乗仏教中観派/般若心経に近い」なーんて言ってる人もいるね。

モノイド圏NOC と モノイド圏NOC2

圏NOCにモノイド積 \oplus を次のように入れる。

  • 対象 n, m に対して n\oplusm := n + m 、単なる足し算
  • 射 (n≦m), (k≦ℓ) に対して (n≦m)\oplus(k≦ℓ) := (n+k ≦ m+ℓ)

単位対象は 0 とする。対象のモノイド積に対して 0 は単位元だし、(0≦0) は射のモノイド積に対して単位元として働く。

圏NOC2にモノイド積 ∧ を次のように入れる。

  • 対象 n, m に対して n∧m := min(n, m) 、小さいほう
  • 射 (n≦m), (k≦ℓ) に対して (n≦m)∧(k≦ℓ) := (n∧k ≦ m∧ℓ)

単位対象は ∞ とする。対象のモノイド積に対して ∞ は単位元だし、(∞≦∞) は射のモノイド積に対して単位元として働く。

モノイド圏NOC2内のコモノイド

モノイド圏NOC2内のコモノイドを探す。コモノイドの定義はモノイドの定義をひっくり返せばいいので、この記事のモノイドの可換図式の矢印を全部逆向きにしてみる。次の文字列置換もする。

  1. A → n
  2. × → ∧
  3. Set → NOC2
  4. 1 → ∞
  5. m → d
  6. i → k


\begin{CD}
(n \wedge n) \wedge n @<{\cong}<<       n \wedge ( n \wedge n ) \\
@A{d \wedge id_n }AA                    @| \\
n \wedge n                  @.          n \wedge ( n \wedge n ) \\
@A{d}AA                                 @AA{id_n \wedge d}A \\
n                           @>{d}>>     n \wedge n \\
\end{CD} \\
\mbox{commute} \incat \mbox{NOC2}
\;\\
\;\\
\begin{CD}
\infty \wedge n    @<{\cong}<<   n \\
@A{k \wedge id_n }AA                 @|      \\
n \wedge n      @<{d}<<        n \\
\end{CD} \\
\mbox{commute} \incat \mbox{NOC2}
\;\\
\;\\
\begin{CD}
n \wedge\ \infty    @<{\cong}<<   n \\
@A{id_n \wedge k }AA                 @|      \\
n \wedge n       @<{d}<<       n \\
\end{CD} \\
\mbox{commute} \incat \mbox{NOC2}

モノイド積の定義から n∧n = n, ∞∧n = n, n∧∞ = n なので、


\begin{CD}
n                          @<{\cong}<<  n  \\
@A{d \wedge id_n }AA                    @| \\
n                           @.          n  \\
@A{d}AA                                 @AA{id_n \wedge d}A \\
n                           @>{d}>>     n  \\
\end{CD} \\
\mbox{commute} \incat \mbox{NOC2}
\;\\
\;\\
\begin{CD}
n               @<{\cong}<<     n  \\
@A{k \wedge id_n }AA            @| \\
n               @<{d}<<         n  \\
\end{CD} \\
\mbox{commute} \incat \mbox{NOC2}
\;\\
\;\\
\begin{CD}
n                 @<{\cong}<<   n \\
@A{id_n \wedge k }AA            @|  \\
n               @<{d}<<        n \\
\end{CD} \\
\mbox{commute} \incat \mbox{NOC2}

結局、出現する射は、すべて恒等射(自然数のイコール)になってしまう。


\begin{CD}
n                          @=          n  \\
@|                                     @| \\
n                          @.          n  \\
@|                                     @| \\
n                          @=          n  \\
\end{CD} \\
\mbox{commute} \incat \mbox{NOC2}
\;\\
\;\\
\begin{CD}
n               @=              n  \\
@|                              @| \\
n               @=              n  \\
\end{CD} \\
\mbox{commute} \incat \mbox{NOC2}
\;\\
\;\\
\begin{CD}
n                @=            n \\
@|                             @|  \\
n                @=            n \\
\end{CD} \\
\mbox{commute} \incat \mbox{NOC2}

なんてツマラナイ例なんだ。そのとおり、ツマラナイ例です。しかし我々は、次の定理を得た。

  • NOC2内のコモノイドは、(n, idn:n→n∧n, !n:n→∞) の形のものに限る。ここで、(n≦∞) を習慣に従い !n と書いている。

「ツマラナイものしかない」ということが新しい知見である。NOCにおけるコモノイドは、(存在はするが)もっとツマラナイともいえるので、各自確認。

今までに調べたコモノイド

コモノイド構造をホストする環境・世界となる圏として、今まで次のものが登場した。

  1. (Set, ×, 1) : × は直積で、1 は単元集合
  2. (NOC2, ∧, ∞) : 今回定義した
  3. (NOC, \oplus, 0) : 足し算をモノイド積とする
  4. (Mat[S], \oplus, 0) : \oplus は対角ブロック和、ここの 0 は、0行0列の行列

それぞれの環境・世界内にコモノイドがどれくらい在るかは:

  1. Set内のコモノイド: 集合Aごとにひとつだけ在る。
  2. NOC2内のコモノイド: 自然数nごとにひとつだけ在る。
  3. NOC内のコモノイド: 自然数nごとにあるわけではない。なので、前回(1月19日)失敗した。
  4. 行列圏内のコモノイド: 行列の転置により、モノイドとコモノイドが移りあう。自然数nごとにひとつだけ在る。

いつでも「コモノイドは少ない」わけではない。ベクトル空間と線形写像の圏Vect内には、色々なコモノイド〈余代数〉が存在し、豊かな理論が展開できる。関手圏のなかのコモノイドであるコモナドもけっこうたくさん在る(随伴系から作れる)。

どのようなモノイド圏にも、最低1個はモノイド/コモノイドが在るのだが、その証明は、一般の場合は意外と難しい(厳密モノイド圏では簡単、やってみて)。