bitterharvest’s diary

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

圏論:ストリング・ダイアグラム ー 合成・結合律・単位律

1.3 合成

射の合成は、圏を構成するための重要な道具の一つである。圏\(\mathcal{C}\)において、射\(f:A \rightarrow B, g:B \rightarrow C\)が存在したとき、\(f\)を計算し、その結果に対して\(g\)を計算することを、射の合成と言い、これを\( g \circ f\)と書く。いつも\( \circ \)を書くのは煩わしいので、今後はこれを省いて\( g f\)とする。これを\(h:A \rightarrow C\)を用いて、\( h=gf\)としたのが、図15である。

f:id:bitterharvest:20200426112616p:plain:w200
図15:射の合成

それではストリング・ダイアグラムで表すことを考えよう。例によってただ一つの対象からなる圏\(1\)を用意し、各対象に対してこれから関手を張り、それぞれの射はこの関手間での自然変換とすると、図16になる。

f:id:bitterharvest:20200426112645p:plain:w280
図16:射の合成を関手圏で表す。

これをpasting diagramで表すと、図17である。

f:id:bitterharvest:20200426113514p:plain:w280
図17:射の合成をpasting diagramで表す。

そして、ストリング・ダイアグラムは図18となる。

f:id:bitterharvest:20200426112814p:plain:w300
図18:射の合成をストリング・ダイアグラムで表す。

1.4 結合律・単位律

圏が満たさなければならない条件に結合律と単位律があった。結合律は、\(f:A \rightarrow B, g:B \rightarrow C , f:C \rightarrow D \)が存在したとき、これらを合成しての計算結果は、その結合の順番に寄らないというものである。即ち、\(h(gf))=(hg)f\)である。これをストリング・ダイアグラムで表すと図19となる。

f:id:bitterharvest:20200426112917p:plain:w500
図19:結合律をストリング・ダイアグラムで表す。

単位律は、恒等射と合成しても変化はないというもので、\(I_B f = f = f I_A \)である。ここで、\(I_A : A \rightarrow A, I_B : B \rightarrow B\)はそれぞれ恒等射である。これをストリング・ダイアグラムで表すと図20となる。

f:id:bitterharvest:20200426113003p:plain:w500
図20:単位律をストリング・ダイアグラムで表す。


用語説明:モノイド

圏論を勉強し始めて最初に躓いたのが、モノイドである。これは、加算や乗算などの二項演算で単位元を持つものの代数的構造を表す圏である。小学校以来ずっと足し算や掛け算は演算子と習っていて、当然のことこれが射になるものと思っていたら、見事に裏切られた。射になるものは、被加数や加数あるいは被乗数や乗数などの数であって、加算や乗算などの演算はなんと合成であった。

自然数の加算を圏で表現すると下図のようになる。

f:id:bitterharvest:20200427132033p:plain:w200
付録1:自然数の加算を圏で表す。

ここでは、
1) 対象は一つだけで、★で表すことが多い。
2) 射は自然数で、\(a,b,… \in \mathbb{N} \)
3) ドメインとコドメインは★
4) 恒等射は\(0\)
5) 結合は加算( \(+\) )
もちろん、単位律、結合律は満たされている。

集合\(S\)とその上の二項演算\(*: S \times S \rightarrow S\)が与えられ、単位元と結合律を満たすとき、\((S,*)\)の組をモノイド(半群)という。単位元を恒等射、集合を射とすることで、上記のように圏として構成できる。対象が一つの圏(単一対象圏)で、射も集合であることから、これは小さい圏である。また、圏のときは、\(S\)の代わりに、モノイド(Monoid)の頭文字をとってモノイド\((M,*)\)あるいはモノイド\(M\)と記されることが多い。上述の自然数での加算はモノイド\((\mathbb{N},+ )\)となる。

それではモノイド\((\mathbb{N},+ )\)をストリング・ダイアグラムで表すことを考えよう。まずは下図のように関手圏として表す。

f:id:bitterharvest:20200427132111p:plain:w250
付録2:モノイドを関手圏として表す。

つぎに下図のようにpasting diagramにする。

f:id:bitterharvest:20200427132144p:plain:w250
付録3:モノイドをpasting diagramで表す。

そして下図のようにストリング・ダイアグラムで表す。

f:id:bitterharvest:20200427102032p:plain:w150
付録4:モノイドをストリング・ダイアグラムで表す。

最後に、二項演算の場面を下図に示す。

f:id:bitterharvest:20200427102305p:plain:w350
付録4:付録5:モノイドでの合成

圏論:ストリング・ダイアグラム ー 集合の要素

1.2 集合の要素

圏にはいろいろな種類があるが、それらの中で馴染みやすいのは集合の圏だろう。これは\(\mathbf{Set}\)で表すことにしよう。集合の圏\(\mathbf{Set}\)とは、対象のそれぞれが集合であり、集合の間の射はそれぞれが全関数であり、射の合成は関数の合成となるものをいう。

例えば、二つの集合\(A,B\)が存在し、\(A\)から\(B\)へと写像する関数を考えることにしよう。このような関数の全てを集めたものを\(\rm{Hom} (A,B)\)で表すと、集合の圏を次のように定義することができる。

集合の圏\(\mathbf{Set}\)の主要な構成要素
1) 対象:\(A,B\)
2) 射: \(f,g,…\in \rm{Hom} (A,B) \)
3) 合成:\( f \circ g \)

射をストリング・ダイアグラムで表現する方法については前回の記事で学んだので、ここでは対象となっている集合\(A\)の要素\(a \in A\)をどのように表したらよいか考えよう。

集合\(A\)と要素\(a \in A\)の関係を図示すると図6のようになる。

f:id:bitterharvest:20200424124557p:plain:w180
図6:集合の圏での集合とその要素

しかし、圏では対象の中がどのようになっているかを示すことができないので、要素\(a \in A\)を、1要素の集合\(*\)で構成される対象から対象\(A\)への射\(a\)として、図7に示すように表すことにしよう。

f:id:bitterharvest:20200425085041p:plain:w180
図7:要素を射で表す。

このようにすると、要素を射として表すことができるので、これは前回の記事で示した射の表し方を応用することができるようになる。従って、図8を得る。

f:id:bitterharvest:20200424124821p:plain:w280
図8:集合と要素を関手で表す。

これをpasting diagramで表すと図9である。

f:id:bitterharvest:20200424124902p:plain:w300
図9:集合の要素を表したpasting diagram

そして、ストリング・ダイアグラムでは図10となる。

f:id:bitterharvest:20200424125011p:plain:w180
図10:集合の要素をストリング・ダイアグラムで表す。

それでは、先に定義した集合の圏\(\mathbf{Set}\)を考えてみよう。射\(f:A \rightarrow B \)が、\(A\)の要素\(a\)を、\(B\)の要素\(b\)に移したとする。この様子は、図11となる。

f:id:bitterharvest:20200426082402p:plain:w180
図11:集合の圏

例によって、圏\(1\)からの関手によって、集合と要素を関連づけると図12となる。

f:id:bitterharvest:20200424125223p:plain:w280
図12:集合の圏の対象を関手とし、併せて要素も関手とする。

pasting diagramで表すと、図13である。

f:id:bitterharvest:20200424125344p:plain:w300
図13:集合の圏をpasting diagramで表す。

従って、ストリング・ダイアグラムは図14のようになる。

f:id:bitterharvest:20200424125438p:plain:w350
図14:集合の圏をストリング・ダイアグラムで表す。


用語説明:ラッセルのパラドックス

集合の圏がでてきたので、これに関連した話をしよう。集合の世界にはラッセルのパラドックスがあり、(素朴集合論では)集合の集合は必ずしも集合にならないとされている。これを避けるために、(公理的集合論では)集合を集めたものをクラスと呼ぶ。クラスに属するものは、共通の性質によって定義されたものである。クラスが集合となるようなものは小さいクラスと呼ばれ、そうでないクラスは真のクラスと呼ばれる。

圏において、対象の集合と射の集合が共に集合である時は小さい圏と言い、そうでないときは大きい圏という。さらに、任意の対象間の射の集合が集合である時、局所的に小さい圏という。

小さい圏の例を挙げておこう。
(1) 空圏\(0\):対象も射も持たない圏である。
(2) 圏\(1\):ただ一つの対象と唯一つの射(恒等射)を有する圏である。
(3) モノイド\(M\):加算乗算などを行う圏で、対象は\(*\)、射は\(M\)(被加数と加数、あるいは被乗数と乗数)、合成は与えられた演算である。例えば、加算\(a+b\)において、\(a,b\)は射で、\(a,b \in M:* \rightarrow *\)、\(+\)は合成である。

大きい圏の例も挙げておく。
(1) 集合の圏\(\mathbf{Set}\):対象は全ての集合、射は集合間のすべての関数、合成は関数の合成である。
(2) 関手圏\(\mathbf{Func}(\mathcal{C},\mathcal{D}) \):対象は圏\(\mathcal{C}\), \(\mathcal{D}\)間の全ての関手、射は関手間の全ての自然変換、合成は自然変換の垂直合成である。
(3) 小さい圏の圏\(\mathbf{Cat}\):対象は全ての小さい圏、射は全ての関手、合成は関手の合成である。この圏では、空圏\(0\)は始対象、圏\(1\)は終対象となる。

ラッセルのパラドックスの話は少し込み入っているので、ここでは、例でその一端を説明しておくだけにしよう。詳しくは、ウィキペディアなどで調べて欲しい。

よく引き合いに出されるのは床屋さんの話だ。ある村に住んでいる男の人たちの集合\(S\)を考える。この村の男たちは、床屋さんに頼まず自分で髭を剃るか、床屋さんに剃ってもらうかのいずれかであったとしよう。

自分で剃る人の集合を\(A\)とし、床屋さんに髭そってもらう人の集合を\(B\)としたときに、集合\(A\)と集合\(B\)とを集めたもの、すなわちそれらの集合を考えると、男たちの集合\(S\)になりそうだ。

ところがどっこいそうはいかない。床屋さんをどちらに入れても、集合を作る前提が崩れてしまうのだ。床屋さんという単語を使って集合を定めていることが問題なのだが、この点を説明したのがラッセルのパラドックスである。

しかし現在ではこのパラドックスを避ける方法が用意されている。床屋さんのケースでは、1)自分では髭を剃るが他人の髭は剃らない人の集合と、2)他人の髭は剃るが自分の髭を剃らない人の集合と、3)自分の髭だけでなく他人の髭も剃る人の集合とに分ければ、これらを集めた集合は村の男の集合になる。

位相空間での開集合の定義も同じように矛盾をきたすことを避けている。その定義は次のようになっている。
1)全体集合と空集合閉集合に属す。
2)閉集合に属す集合の任意の合併は閉集合に属す。
3)閉集合に属す集合の有限個の交わりは閉集合に属す。

上記の定義で、合併の場合には任意個寄せ集めてもよいが、交わりの場合には有限個に限定している。無限にすると閉集合でないものが生じるので、これを避けるためである。
例えば次を考えてみよう。縁なし円の閉集合\(d_n\)を、半径\(r < 1/n \)の中に含まれる点の集まりだとしよう。これは外周を含まない縁のない円である。そして、\(n=1,2,3...\)としよう。
このとき、無限個の閉集合を集めることを考えよう。すなわち\(\cap_{n=1}^{\infty} d_n\)を考えると、これは縁なし円ではなく、ただの点となってしまい、閉集合ではなくなる。

同じように、圏論では グロタンディーク宇宙を用意しているが、ここではその説明は省略させてもらう。


圏論:ストリング・ダイアグラム ー 射

テレビでは、連日、それもかなり頻繁に、コロナウイルスが話題に上っている。感染症の一つなので、その数理的なモデルはパーコレーションである(複雑系という学問の中で、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\)が存在するが、図には取り敢えず含めないことにし、結合についても同じことにしてて、ストリング・ダイアグラムを書くことに専念する。

f:id:bitterharvest:20200426083214p:plain:w200
図1:二つの対象と一つの射を有する単純な圏

\(\mathcal{C}\)の他にもう一つ圏\(\mathcal{1}\)を考えることにしよう。これはとても単純な圏で、一つの対象(1要素の集合)で成り立っているとしよう。圏\(\mathcal{1}\)と圏\(\mathcal{C}\)を関手で結んだ関手圏、これは図2に示す、を考えることにしよう。関手には、圏\(\mathcal{1}\)と\(\mathcal{C}\)の対象\(X\)とを結んだ関手\(X\)と対象\(Y\)とを結んだ関手\(Y\)とを考えることにしよう。

二つの関手の間は、自然変換\(f\)で結ぶことができる。関手圏では対象は関手であり、射は自然変換である。この関手圏は、構造が複雑ではないので、関手も自然変換も、計算の経路は一つだけで、自然変換\(f\)は、従来の考え方での関数\(f:X \rightarrow Y\)と同じふるまいをする。

f:id:bitterharvest:20200424181414p:plain:w350
図2:簡単な圏を関手と自然変換で表す。

そこで、関手圏を通常広く利用されているpasting diagramで表すと図3となる。

f:id:bitterharvest:20200422110843p:plain:w250
図3:簡単な圏をpasting diagramで表現する。

そこでそれぞれを表す次元を逆にして、関手のドメインとコドメインになっている圏\(\mathcal{C}\)と圏\(\mathcal{1}\)を2次元の平面で、関手である\(X,Y\)を1次元の線分で、自然変換\(f\)を0次元の点で表すと図4となる。この図の見方は、左から右へ、下から上へである(向きは研究者によって異なる)。この図を左側から右側へと見たときに、図の下部では、圏\(\mathcal{C}\)から関手\(X\)を経て圏\(\mathcal{C}\)に移っていることが示されている。また、上部では関手\(Y\)を介してである。また、下から上へと見たときは、関手\(X\)から自然変換\(f\)を経て、関手\(Y\)に至ることが分かる。

f:id:bitterharvest:20200422111041p:plain:w150
図4:簡単な圏をストリング・ダイアグラムで表現する。

しかし今後はもう少し簡略化して図5に示すように、0次元の点のところは自然変換に付けられた名前で表すことにする。また上方向に、射が向かっていることを明示するために矢印もつけることにした。

f:id:bitterharvest:20200422111134p:plain:w150
図5:簡略化したストリング・ダイアグラムで表現する。

今日の説明はここまで、次回は集合の要素の表し方についてみていこう。


用語説明:関数とは

圏論での対象と射という用語は、高校で学んだときの集合と関数に対応し、これらを抽象化した概念である。そこで、手始めに関数について説明しよう。

今から思うとかつての中学校はとても素朴であったと感じるのだが、あるとき、担任の先生が「君たちのことをもっとよく知って今後の教育に役立てたい。そこで紙を配るので、男子は好きな女子の名前を、女子は好きな男子の名前を、一人だけ書いて提出しなさい」と言われた。教室は、ざわざわとしたあと、皆が考え始めたのか静寂となり、そうこうするうちに鉛筆を走らせる音があちらこちらから聞こえてきた。いまでも強く印象に残っている光景なのだが、誰の名前を書いたかを今となっては思い出すことはできないし、先生がどのように利用したのかも分からない。

ところでこれは関数のいい例だ。関数は、集合と集合の間を関係づけるものと考えることができる。男子の集合を\(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往復で戻ってくる。これは巡回群へと導くがそれについてはまた後で。


圏論をビジュアルに表現する(4)-随伴とモナドの関係

6.5 随伴とモナド

ストリング・ダイアグラムを用いて、随伴からモナドが導き出されることを示そう。

前述したように随伴は、二つの圏\(\mathcal{C,D}\)と関手\(L:\mathcal{D} \rightarrow \mathcal{C}, R:\mathcal{C} \rightarrow \mathcal{D}\)で構成され、自然変換\(ε:LR \rightarrow I_\mathcal{C},η:I_\mathcal{D} \rightarrow RL\)を有し、counit-unit恒等式を\(I_L=εL \circ Lη, I_R=Rε \circ ηR\)を満たすというものであった。これらは図26のようになる。

f:id:bitterharvest:20200312140915p:plain
図26:随伴を表すストリング・ダイアグラム

同様にモナドは、圏\(\mathcal{D}\)と自己関手\(T:\mathcal{D} \rightarrow \mathcal{D}\)で構成され、自然変換\(μ:T^2 \rightarrow T,η:I_\mathcal{D} \rightarrow T\)を有し、\(μ\circ Tη=μ\circ ηT=I_T, μ\circ Tμ=μ\circμT \)を満たすであった(前の節では圏を\(\mathcal{M}\)としたが、ここでは証明の都合を考えて\(\mathcal{D}\)とする)。これらは図27のようになる。

f:id:bitterharvest:20200312124104p:plain
図27:モナドを表すストリング・ダイアグラム


それでは証明に移ろう。

随伴とモナドには、同じ名前の自然変換\(η\)がある。ドメインは同じだが、コドメインは、前者の方は\(RL\)であるのに対し、後者の方は\(T\)である。そこで、両者は一緒と見なすことにしよう。すなわち\(RL=T\)とする。

この関係を用いて、随伴であると仮定したときに、モナドの各条件が満たされることを示せばよい。すなわち、\(T\)を\(RL\)で置き換えることで示せばよい。

最初に、モナドの自然変換\(μ,η\)を置き換えると図28のようになる。

f:id:bitterharvest:20200312124203p:plain
図28:モナドの関手\(T\)を随伴の関手\(RL\)で置き換えて、モナドの自然変換を表す。

それではモナドの条件が満たされることを示そう。

最初に\(μ\circ Tη=I_T \)が成り立つことを示す。これは図29に示すように、随伴でのcounit-unit恒等式のストリング・ダイアグラムを用いることで、証明できる。\(μ\circ ηT=I_T \)も同様である。

f:id:bitterharvest:20200312125953p:plain
図29:\(μ\circ Tη=I_T \)の証明

最後に、\(μ\circ Tμ=μ\circμT \)が成り立つことを示す。これは図30に示すように、図の中ほどの下に、緑の山が二つほど描かれている。山の高さは計算の順序を示すが、圏の結合律から、どちらを先に計算してもよい。このため高さを入れ替えても構わないので、この性質を用いて図に示すように証明できる。
f:id:bitterharvest:20200312130043p:plain
図30:\(μ\circ Tμ=μ\circμT \)の証明

ストリング・ダイアグラムを用いることで、「随伴からモナドが導き出される」という命題をすっきりと証明することができた。

モナドの対にコモナドがあるが、これについても同様に証明することができる。

圏論をビジュアルに表現する(3)-モナド

6.4 モナド

Haskellを学んだときに、多くの人がこれは何だろうと思ったのが、モナドだと思う。恐らくは入出力のところで出会ったことと思うが、なんでそのまま出力されないのと思ったことだろう。

話はそれるが、昨年は、九州、東北、北海道にある縄文時代弥生時代の遺跡を訪ね、その時代の文化に浸って楽しく過ごした。この時代の人々は、文字を有していなかったので、彼らがどのように考えていたのかを伝えてくれない。しかし、縄文時代の人々と同じように、狩猟採集生活を過ごした人々は、少し前まで、アフリカのカラハリ砂漠、南太平洋のニューギニア、南米のアマゾン奥地、そしてオーストラリアで生活をしていた。人類学者の人たちが、これらの人々のことを調べているので、縄文時代の人々の考え方を知る助けになるのではと思い、最近出版された2冊の本を読んでみた。

ジェイムス・スーズマン著『本当の豊かさはブッシュマンが知っている』と奥野克己著『ありがとうもごめんなさいもいらない森の民と暮らして人類学者が考えたこと』が、それである。こんなにも考え方が違うのかと驚かされるのだが、その中で時間に対する捉え方が全く異なる。我々は、過去、現在、未来という時を意識しているが、彼らには現在しかない。過去や未来があるから生き方が難しくなるので、現在だけしかないとするととても単純になる。

モナドの世界はまさに、現代人の世界である。入出力は、時間軸の中での前と後の関係を伴っている。これに対して、モナドがないHaskellの世界には時間的な前後の関係はない。そこではどの関数も、同じ入力に対して同じ出力を与える。時間によって出力が変わることはない。しかしモナドの世界では、過去に何があったかによって同じ入力であったとしても、異なる出力を与えることがある。狩猟採集民の人々と現代人の間の橋渡しをしてくれるのがモナドと考えると、時空間を越えてコミュニケーションをしているようで楽しくなる。今回は、そのようなモナドをストリング・ダイアグラムによりビジュアルに表現しよう。

モナドは、圏\(\mathcal{M}\)において、自己関手\(T: \mathcal{M} \rightarrow \mathcal{M}\)と自然変換
\begin{eqnarray}
η: I_\mathcal{M} \rightarrow T \\
μ: T \circ T \rightarrow T
\end{eqnarray}
を有し、以下の条件を満たすものである。
\begin{eqnarray}
μ\circ Tη &=& μ\circ ηT = I_T \\
μ\circ Tμ &=& μ\circ μT
\end{eqnarray}

条件を可換図式で表すと図18のようになる。

f:id:bitterharvest:20200227100849p:plain
図18:モナドの条件を可換図式で表す

自然変換\(η,μ\)はpasting diagramで表すと図19となる。

f:id:bitterharvest:20200227100958p:plain
図19:モナドの自然変換をpasting diagramで表す

これをストリング・ダイアグラムに変えると図20を得る。ビジュアルにすると天井からぶらさっがっている線に傘が接続されているものと、何も接続されていないものとなり、覚えやす。
f:id:bitterharvest:20200227101113p:plain
図20:モナドの自然変換をストリング・ダイアグラムで表す

次は可換図式だ。例によってpasting diagramを描いてみよう。図21に示すように二つに分かれ、上の図は可換図式の左側を、下の図は可換図式の右側の部分を表している。また、可換図式の左側で、\(Tη:T \rightarrow T^2\)の部分は\(Tη:T I_\mathcal{M} \rightarrow T^2\)としたあと、pasting diagramとした。右側の\(ηT:T \rightarrow T^2\)も同じである。

f:id:bitterharvest:20200227101209p:plain
図21:モナドの前半の条件をpasting diagramで表す

それではストリング・ダイアグラムで表してみよう。まずは上の部分で、図22になる。Pasting diagramは複雑だったが、ストリングスはすっきりしている。
f:id:bitterharvest:20200227101321p:plain
図22:モナドの前半の条件をストリング・ダイアグラムで表す

下の図をストリングで表すと図23となる。前の図とは左右対称なのが分かる。

f:id:bitterharvest:20200227101400p:plain
図23:モナドの前半の条件をさらにストリング・ダイアグラムで表す

もう一つの可換図式をpasting diagramで表すと図24である。

f:id:bitterharvest:20200227101451p:plain
図24:モナドの後半の条件をpasting diagramで表す

これをストリング・ダイアグラムで表すと図25のようにかなりすっきりし、左右を入れ替えても同じということがビジュアルにはっきりする。
f:id:bitterharvest:20200227101548p:plain
図25:モナドの後半の条件をストリング・ダイアグラムで表す

これで、随伴とモナドをストリング・ダイアグラムでビジュアルに表したので、次はモナドと随伴の関係について説明しよう。

圏論をビジュアルに表現する(2)-随伴

6.3 随伴

随伴は、圏論を代表する概念である。これは、「二つの圏が全く同じとは言わないまでもとても似ている」という考え方を与える。二つの圏\( \mathcal{C,D} \)が与えられた時に、\(LR=I_\mathcal{C}\)と\(RL=I_\mathcal{D}\)を満たすような関手\(L: \mathcal{D} \rightarrow \mathcal{C} \)と関手\(R: \mathcal{C} \rightarrow \mathcal{D} \)が存在するならば、二つの圏は同値、すなわち全く同じである。しかし、二つの圏が同値という考え方は、膠着しすぎていて、あまり面白くない。そこで、少し緩めて、図10に示すように、自然変換
\begin{eqnarray}
ε: LR \rightarrow I_\mathcal{C} \\
η: I_\mathcal{D} \rightarrow RL
\end{eqnarray}
が成り立つならば、同じと考えようというのが随伴である(一般には\(L,R\)は\(F,G\)を用いて記述されるが、どちらを向いている関手であったかが分かりにくくなるので、ここでは矢印の向きを明示してくれる\(L,R\)を用いる)。また随伴は図10の下半分に示してあるcounit-unit恒等式を満たさなければならない。

f:id:bitterharvest:20200312141731p:plain
図10:随伴の定義
最初の\(ε\)はcounitと呼ばれる自然変換である。これは図11に示すように、\( \mathcal{C} \)の任意の対象\(A\)を、\(R\)で\( \mathcal{D} \)に移し、さらにそれを\(L\)で\( \mathcal{C} \)に移す。少し飛躍的な表現で説明するならば、\(\forall A \)に対して\( ε_A: LR(A) \rightarrow I_\mathcal{C}(A) \)によって、「本当の自分に戻れる」ということを表している。
f:id:bitterharvest:20200218094034p:plain
図11:随伴を構成する自然変換counit
二番目の自然変換\(η\)はunitと呼ばれる自然変換である。これは図12に示すように、\( \mathcal{D} \)の任意の対象\(B\)を、\(L\)で\( \mathcal{C} \)に移し、さらにそれを\(R\)で\( \mathcal{D} \)に移す。同じように飛躍的な表現を用いれば、\(\forall A \)に対して\( η_A: I_\mathcal{D} (A) \rightarrow RL (A)\)によって、「自分を別のかたちで表現できる」ということを表している。
f:id:bitterharvest:20200218111120p:plain
図12:随伴を構成する自然変換unit
世の中には「別のかたちで表現するもの」は沢山ある。戦国時代の「かぶく」というのもその一つの例だろうが、身近なところでは、感情と表情の関係だ。人間には、嬉しいとか悲しいとか怒っているとかいう感情があるが、そのときどきに抱いている感情は、表情として顔に現れる。このため、顔に現れる表情は、内面にある感情を「別のかたちで表現している」と見なすことができ、自然変換のunitと考えていいだろう。逆に、顔の表情から内面の感情を知ろうとするのが、「本当の自分に戻る」ということになる。これはcounitである。圏論を定義する自然変換は、このように重要な概念を与えてくれるので、自然科学だけではなく、人文科学や社会科学にも、その応用分野を広げてくれ、とても有用である。

\(ε,η\)をpasting diagramで示すと図13になる。

f:id:bitterharvest:20200218105538p:plain
図13:自然変換\(ε,η\)をpasting diagramで表す

それでは随伴をストリング・ダイアグラムで表すことにしよう。

自然変換\(ε,η\)は、pasting diagramをストリング・ダイアグラムに変換する方法を用いれば簡単に求めることができ、図14のようになる。

f:id:bitterharvest:20200215112635p:plain
図14:随伴を定義する自然変換をPsting diagramで表現する

それでは、counit-unit恒等式について考えよう。これをpasting diagramで表すと図15のようになる。

f:id:bitterharvest:20200222091404p:plain
図15:counit-utit恒等式をpasting diagramで表す
それでは、図15の右上のpasting diagramをストリング・ダイアグラムに変換すると図16のようになる。
f:id:bitterharvest:20200222091427p:plain
図16:counit-utit恒等式をストリング・ダイアグラムで表す―その1
そして、図15の右下のpasting diagramをストリング・ダイアグラムに変換すると図17のようになる。
f:id:bitterharvest:20200222091452p:plain
図17:counit-utit恒等式をストリング・ダイアグラムで表す―その2
Counit-unit恒等式は、ストリング・ダイアグラムで表すとジグザクな線になるので、ジグザグ恒等式(zig-zag equations)と呼ばれる。

随伴をストリング・ダイアグラムで表すことができたので、つぎはモナドに挑戦しよう。

圏論をビジュアルに表現する(1)-ストリング・ダイアグラム

6.1 圏の圏

中学に入学すると、算数に代わって数学という教科が登場する。計算問題が嫌いだった私は、嫌なことから解放してくれるような、楽しいパラダイムがきっと待ち受けているのだろうと、過剰に期待した。しかし、真っ先に学んだのは、三角形の合同や相似だった。中間試験や期末試験では、図形内の二つの三角形が合同であることを証明しなさいというような問題が出題された。なんと嫌なことに補助線を見つけられるかどうかが勝敗を分けた。博打的な要素があり、あまり好きになれず、期待は裏切られた。

今回の記事は、その幾何学を用いて、圏を表してみようという話である。圏論は、「数学の数学」と言われるほどに抽象的な概念で説明しにくいのだが、それが目に見えるような形で表わせれば、とても理解しやすいものになるだろうし、面白いことにもなりそうだ。そして中学生の時に味わった憂鬱な気分を払拭してくれるかもしれない。それにもましたこのビジュアルな表現を用いて、定理の証明がいとも簡単に行えることが示せれば、感動さえ覚えそうに思える。このような期待を込めて、ビジュアルな表現を紹介しよう。

ここでは、1) (小さな)圏を対象とし、2) 関手を射とし、3) 関手間の射を自然変換とした、圏\(\rm{Cat}\)(圏の圏と呼ばれる)を考えることにしよう(このようにすると、自然変換の立ち位置が何とも定まりが悪いので、関手を対象とし、自然変換を射とした圏を考える方が本当は自然である。実際、このように定義したものをStrict 2-categoryと呼ばれる。ここでは前からのつながりもあるので、\(\rm{Cat}\)を用いて説明する)。

圏に関する用語と例

簡単に圏論の中で使われる用語を説明しておこう。
1)圏は、どのように計算したらよいかを示してくれる構造である。
2)関手は、ある圏の計算の構造を、他の圏に移すものだ(他の圏は元のある圏であっても構わない。このときは、自身に計算の構造をもちこむこととなる)。
3)自然変換は、ある圏から他の圏への二つの関手の間での関係を示すものだ。

具体的なイメージがつかめるように、それぞれの用語な例を挙げておこう。

1)圏の例:圏は対象、射、ドメインとコドメイン、恒等射、合成で構成され、単位律、結合律を満たす。
例1:加算を有する正数(0以上の整数):これを圏\(\mathcal{C}\)とする。\(\mathcal{C}\)は次のように構成される。射は整数の一つ一つ、即ち、0,1,2,...である。恒等射は0。合成は加算\(+\)。射は写像と考えてよいので、入力(これはドメインと呼ばれる)と出力(これはコドメインと呼ばれる)を有する。ドメインやコドメインになるものが対象である。この場合、射は整数なので、ドメインとコドメインを考えにくいが、定義上必要とするので、通常は一要素を対象とし、★で表わす。
例2:正数が並んだリスト(例えば\([2,4,5]\) ):これを圏\(\mathcal{D}\)とする。\(\mathcal{D}\)は次のように構成される。射はそれぞれのリスト。恒等射は空のリスト[ ]。合成はリストの接続\(++\)。対象、ドメイン、コドメインは★。

2) 関手の例:
例1:リストに加法をもちこむ:任意のリストを\([b_0,b_1,b_2,....]\)としたとき、これに任意の正数\(a\)を加えるという関手\(F\)は、\([b_0+a,b_1+a,b_2+a,....]\)の計算をすることである。
例2:リストに剰余類による加算をもちこむ:同じように任意のリストを\([b_0,b_1,b_2,....]\)としたとき、これに任意の正数\(a\)を加えてその剰余\(m\)を求めるという関手\(G\)は、\([Mod_m(b_0+a),Mod_m(b_1+a),Mod_m(b_2+a,....])\)の計算をすることである。

3)自然変換の例
例1:\(F\)から\(G\)への自然変換\(α\)は、\([b_0+a,b_1+a,b_2+a,....]\)から\([Mod_m(b_0+a),Mod_m(b_1+a),Mod_m(b_2+a,....])\)への変換をすることである。即ち、リストの要素ごとに剰余を求める計算を行うことになる。

自然変換の合成

それでは自然変換の合成について若干説明しておこう。これには、水平方向への合成と垂直方向の合成がある。

水平方向の合成は次のようになる(図1参照)。水平に配置された圏を\(\mathcal{C,D,E}\)としよう。\(\mathcal{C,D}\)の間では関手\(F,G : \mathcal{C} \rightarrow \mathcal{D} \)が、\(\mathcal{D,E,}\)の間では関手\(F’,G’ : \mathcal{D} \rightarrow \mathcal{E} \)が、二つの関手間にはそれぞれ自然変換\(α:F \Rightarrow G,\)と\(β:F’ \Rightarrow G’ \)が定義されているとしよう。このとき、この自然変換の合成は\(βα:F’ F \Rightarrow G’ G : \mathcal{C} \rightarrow \mathcal{E}\)となる。

垂直方向の合成は次のようになる(同じく図1参照)。圏を二つ用意して\(\mathcal{C,D}\)としよう。\(\mathcal{C,D,}\)の間では関手\(F,G,H : \mathcal{C} \rightarrow \mathcal{D} \)が、二つの関手間にはそれぞれ自然変換\(α:F \Rightarrow G, γ:G \Rightarrow H \)が定義されているとしよう。このとき、この自然変換の合成は\( γ α : F \Rightarrow H : \mathcal{C} \rightarrow \mathcal{D} \)となる。

次に、水平方向と垂直方向の両方の合成が可能である場合を考えることにしよう。図1のように、圏\(\mathcal{C,D,E}\)が、関手\(F,G,H : \mathcal{C} \rightarrow \mathcal{D}\),\(F’,G’,H’ : \mathcal{D} \rightarrow \mathcal{E}\)が、自然変換\(α:F \Rightarrow G, β:F' \rightarrow G',γ: G \Rightarrow H, δ: G’ \Rightarrow H’ \)が定義されているとしよう。このとき、垂直方向に合成したあと水平方向に合成することも可能であるし、水平方向に合成したあと垂直方向に合成することも可能である。前者の場合には\((δβ)(γα)\)、後者の場合には\((δγ)( βα)\)となる。このとき、\(\rm{Cat}\)では交換律(interchange law:合成の順序に依らない)が成り立つ。すなわち\(δβγα=δγβα\)である。

f:id:bitterharvest:20200213194557p:plain
図1:pasting diagramで表した自然変換での交換律( \(δβγα=δγβα \) )
\(\rm{Cat}\)をさらに一般化した圏にStrict 2-categoryと呼ばれるものがある。そこでは、対象(圏)は0-セル(sell)、射(関手)は1-セル、自然変換は2-セルと呼ばれる。図1のように、0-セル、1-セル、2-セルをそれぞれ0次元の点、1次元の線、2次元の面で表したものをpasting diagramと呼ぶ。

6.2 ストリング・ダイアグラム

これから説明する圏の図的表現は、ストリング・ダイアグラム(String Diagram)と呼べれる。まず簡単な例から見ていこう。

圏\(\mathcal{C,D}\)とその間の関手\(F:\mathcal{C} \rightarrow \mathcal{D}\)で構成される圏の圏\(\rm{Cat}\)をpasting diagramで表したのが図2左である。この図で0-セルは0次元で、1-セルは1次元で表されている。それでは、この関係を反転させて、0-セルは1次元で、1-セルは0次元で表すと図2右となる。これがストリング・ダイアグラムの基本的な考え方である。このとき、右側の圏がドメインで、左側の圏がコドメイン、即ち、関手は右から左に向いていることに注意して欲しい。反対向きに定義している場合もあるが、こちらの方が、関手を合成したとき、並びが同じになり、分かりやすい。

f:id:bitterharvest:20200213153842p:plain
図2:ストリング・ダイアグラムの基本的な考え方

それではもう少し進んで、圏\(\mathcal{C,D}\)とその間の関手\(F,G:\mathcal{C} \rightarrow \mathcal{D}\)、さらに関手の間の自然変換\(α:F \rightarrow G\)について考えよう。pasting diagramは図3左上のようになる。ストリング・ダイアグラムは次元を反転させればよいので、0-セルは2次元で、1-セルは1次元で、2-セルは0次元にする。求め方は意外と簡単で、図3左下に示すように、自然変換を表している真ん中から、それを囲んでいる関手の線分の真ん中をめがけて線を引く。これらの線が関手を表し、それぞれの線に沿った面が圏となる。分かりやすくしたのが、図3右上である。なお、この図の下の部分を表すと、図3右下となる。これはストリング・ダイアグラムの基本的な考え方を示す時に用いたときのものと同一である。なお。自然変換は、下から上に向かっていることに注意して欲しい。

f:id:bitterharvest:20200213160256p:plain
図3:一般的なストリング・ダイアグラム

次に自然変換が恒等射になっている場合を考えてみよう。圏\(\mathcal{C,D}\)とその間の関手\(F:\mathcal{C} \rightarrow \mathcal{D}\)、さらに関手の間の自然変換\(I_F:F \rightarrow F\)について考えよう。pasting diagramにもいくつかの表し方があり、図4左のようになる。これらに対するストリング・ダイアグラムは図4右のようになる。

f:id:bitterharvest:20200213161008p:plain
図4:自然変換が恒等射の場合のストリング・ダイアグラム

それでは、図5左のように関手の一つが恒等射の場合について考えてみよう。このときのストリング・ダイアグラムの表し方は特殊で、恒等射の関手は点線で表すか、またはそれは描かなくてもよいとする。すなわち図5右のようになる。

f:id:bitterharvest:20200213161412p:plain
図5:関手が恒等射の場合のストリング・ダイアグラム

自然変換の合成を表してみよう。まず垂直方向に合成す場合を考えてみよう。図6のようになる。なお、自然変換\(α\)と\(β\)の合成\(\circ\)は、一般的には\(β \circ α\)と書かれるが、ここでは合成の記号を省いて\(βα\)とあらわすことにする。関手に対しても同じように記述する。

f:id:bitterharvest:20200213170706p:plain
図6:垂直方向の合成
続いて水平方向に合成す場合を考えてみよう。図7のようになる。
f:id:bitterharvest:20200213170727p:plain
図7:水平方向の合成
水平方向にも垂直方向にも合成できる場合を考えてみよう。垂直方向の合成を先に行うと図8のようになる。
f:id:bitterharvest:20200213170758p:plain
図8:垂直水平方向の合成
もう少し一般的なものを示してみよう。図9は圏\(\mathcal{C,D}\)の間にいくつかの関手が連なっている場合である。前に述べたとおり、自然変換の中心から関手を表している線の真ん中あたりをめざして、線を引けばよいので、図9のようになる。
f:id:bitterharvest:20200213163252p:plain
図9:ストリングの一般的な例

次は具体的な例として随伴を表すことにしよう。

紅くるりのピクルスとサラダ

散歩がてら、いつものようにJA横浜に立ち寄って、サラダ用の野菜を漁っていると、珍しく店員の方に、「この野菜、昨夜漬けたものですが、美味しいので食べてください」と声をかけられた。見ると外側だけでなく、中まで赤い根菜だ。カブと思って口に運んでみると、みずみずしく柔らかい。お店の人によると「大根」で、「紅くるり」と呼ばれるそうで、サラダにもなるということなので、早速試すことにした。

まずはピクルス。カリフォルニアで学生時代を過ごしているときに、二人の幼児の子育て真最中の夫婦がホームステイ先になってくれた。奥さんのGayeが、その時々の野菜を利用して、自家製のピクルスを作っていたのがとても印象的だった。そのため、お店でピクルスを見るたびに、その光景を思い出す。

ピクルスは、酢のつくり方によって味が異なるので、それぞれの家庭の味がある。しかし伝統を有しない我が家の場合には、出来合いの合わせ酢を利用する方が簡単だ。そこで今回用いた材料はこれだけ(下の写真)。主役の紅くるりは、色も鮮やかで、形も整っているので、シンプルな中にあって高級感を与えてくれた。
f:id:bitterharvest:20200205103932j:plain
全部をピクルスにするには大きすぎるので、半分だけを用いることとし、イチョウ切りにするために、半分にしたものを、縦方向に4等分する。ポリフェノールのおかげで内部まで鮮やかに色づいている。
f:id:bitterharvest:20200205103902j:plain
これを2~3ミリの厚さのイチョウ切りにする。
f:id:bitterharvest:20200205104002j:plain
タッパーに納める。
f:id:bitterharvest:20200205104024j:plain
カンタン酢をひたひたになるところまで注いで、寝かしておく。

夕飯のおかずに出した紅くるりは、レモンが影響しているのだろう、鮮やかな紅色をしていた。
f:id:bitterharvest:20200205104049j:plain
お店で試食したピクルスは、甘酢を用いていたのだろう。甘酸っぱかったが、今回用いた合わせ酢は、レモン入り。このため、さっぱり味で、食材の味が生かされ、我が家にはあっていた。

一晩明けて、残った紅くるりを用いてサラダを作った。同時に使った野菜は、一緒に買った「からし菜」。
f:id:bitterharvest:20200205104113j:plain
ハワイで仕入れた年季の入ったサラダボールに盛り付けた。
f:id:bitterharvest:20200205104139j:plain
くるりを口にすると、サクッという感じで歯に押し切られ、その瞬間に、水分が口の中に広がった。殆ど味はない。しばらくすると、大根の味がほのかに舌に伝わってきた。しかし辛さはないので、美味しく頂けた。見た目にも鮮やかなサラダなので、これからもこの野菜を利用して、食卓にいろどりを添えようと思っている。

小春日和のなか、上野寛永寺ゆかりの建造物を訪ねる

東京の冬は嫌いではない。しかし曇天ときには雨が多い今年の東京にはなじめない。そのような日が続く中、珍しく晴れた月曜日(20日)、新宿での午前中の用事を済ませたあと、トーハク(東京国立博物館)でも訪ねてみようかと山手線に乗り、スマホをくくっていたら、なんと休館という文字が目に入った。家とは反対の方向に進んでいるし、天気も素晴らしく良いので、このまま帰るのは損をしたような気になるので、上野の寛永寺ゆかりの建造物を訪ねてみようと新たな計画を立てた。

寛永寺は、日光東照宮増上寺とともに、徳川家の祈祷所・菩提寺であった。3代将軍家光により1625(寛永2)年に建立され、現在の上野公園を中心に広大な敷地を有していた。公園内には、歌川広重が描いた「東都名所、上野東叡山全図」のレリーフがあり、江戸時代の寛永寺の姿を知ることができる。左側の大きな建物が中堂、中堂を取り巻いている回廊前面の唐門が吉祥閣、中央の連結されている建物が常行堂・法華堂、右端にある建物が文殊楼。中央手前に先端だけが描かれているのが、五重塔である。
f:id:bitterharvest:20200123102207j:plain

ところが、幕末の1868(慶応4)年の彰義隊の戦い(上野戦争)でこの辺りは戦場となり、主要な建物は焼失してしまったが、周辺にあった五重塔、清水観音堂、大仏殿などが残った。

スマホの地図で場所を確認して、帰りの便も考えて、鶯谷駅で降り、上野公園に向かって散策することにした。
f:id:bitterharvest:20200123103123p:plain
鶯谷駅から芸大の方に向かって歩くと、その裏手のあたりに、根本中堂がある。これはレリーフのところで説明した上野戦争で焼失した本堂とは異なり、1879(明治12)年に、川越喜多院の本地堂を移築したものである。
f:id:bitterharvest:20200123102242j:plain
f:id:bitterharvest:20200123102311j:plain
根本中堂内には、重要文化財に指定されている本尊の薬師如来、脇侍として日光菩薩月光菩薩が祀られている。

根本中堂から次の目的地の輪王寺までは、トーハクの壁面に沿って歩く。トーハクの正門に近づくころ、重要文化財に指定されている旧因州池田屋敷表門(黒門)に出くわした。江戸時代末期の大名屋敷の表門を移築したものである。
f:id:bitterharvest:20200123102340j:plain

トーハクの敷地は、寛永寺の本坊あとで、その入り口には本坊の表門があった。この表門は、関東大震災後のトーハクの本館改築に伴い、少し離れた寛永寺輪王殿に移建された。上野戦争での戦火を免れて現在に至っているが、門には多数の弾痕が残されているそうである。残念ながら近づいて確認することはできなかった。
f:id:bitterharvest:20200123102406j:plain

紛らわしいのだが、輪王殿の隣には輪王寺がある。輪王殿は葬儀式場で、輪王寺天台宗のお寺、通称「両太師」として知られている。江戸時代には、輪王寺寛永寺の伽藍の一部で、開山堂または慈眼堂と称せられていた。江戸時代前期より、法親王(皇族)が、寛永寺貫主天台座主、日光山(輪王寺)主の「三山管領宮」なったことから、貫主は「輪王寺宮」または「輪王寺門跡」と呼ばれた。

この寺を開山したのは天海(慈眼太師)で、天海を祀る開山堂が現在の輪王寺の敷地に建立された。また天海が崇拝する良源(慈恵太師)を祀ったことから、「両太師」と呼ばれるようになった。これらがこの寺にまつわる名前の由来である。
f:id:bitterharvest:20200123102433j:plain

なお輪王寺の裏手には趣のある僧院が立ち並んでいる。
f:id:bitterharvest:20200123102459j:plain

輪王寺に別れを告げて、上野公園の中にある上野東照宮へと向かう。東照宮は、藤堂高虎が家康からの遺言を受けて、上野の高虎の敷地に建立された。現在の社殿は、3代将軍の家光により改築されたもので、上野戦争関東大震災第二次世界大戦からの焼失を免れて、現在に至っている。どの観光地も同じだが、ここも御多分に漏れず、見学者のほとんどが外国からの観光客であった。
f:id:bitterharvest:20200123102525j:plain

境内では冬ぼたんが展示されていた。
暖かい小春日和の日を受けて、霜よけのわら囲いに包まれた冬ぼたんも心地よさそうだ。
f:id:bitterharvest:20200123102554j:plain
黄色の冬ぼたんも見事に咲いていた。かすかな香りがあるとの説明があったので、鼻を近づけてみたが期待は裏切られた。
f:id:bitterharvest:20200123102625j:plain
ぼたん苑から見る五重塔も青い空を背景にして落ち着きのあるたたずまいを感じさせてくれた。ぼたん苑の華やかな彩りの傘が、小春日和の陽光を浴びて、まだ来ぬ春を一層待ち遠しくさせてくれた。
f:id:bitterharvest:20200123102652j:plain
苑内には黄梅も咲いていた。こちらの方は、そばを通り抜けたときに、香ばしいかおりを感じた。
f:id:bitterharvest:20200123102723j:plain

次に上野の大仏を訪れる。地図を見たときに上野に大仏などあったかと不思議に思って立ち寄ってみたのだが、なんと顔の表面だけであった。
f:id:bitterharvest:20200123102901j:plain
この大仏は、1631(寛永8)年に、越後村上城主の堀丹後守直寄によって、戦国時代の戦乱によって倒れた敵味方の供養のためにこの高台に建立されたが、それ以降の地震や火災によって災難に遭い、関東大震災ではついに顔が落ちてしまい、そのあと復元されることなく現在に至っているとのことであった。余談だが、「これ以上落ちない合格大仏」として広く信仰を集めているとのことだった。

大仏のあった高台から降りて、トーハクの方を見渡してみる。
f:id:bitterharvest:20200123102937j:plain

寛永寺の敷地がいかに広かったが分かる。写真の後ろの方には清水観音堂が、また不忍池の中ほどには不忍池辨天堂がある。これらも戦火を免れた建造物である。お腹が空いてきたので、昼食をとるために、今日の散策はここまでとして、上野公園をあとにした。

なお国会図書館のデジタルコレクションには、江戸名所図会があり、26コマ以降の寛永寺の本文と挿絵を見ると、当時の様子を知ることができる。

思いがけずの観音寺周辺の散策となったが、タイミングよくぼたん苑を訪れ、咲きそろった冬ぼたんを鑑賞することができ、黒木華主演の映画「日日是好日」でのお茶の域には及びもしないが、似たような体験を味わうことができ、得をした気分になっての家路であった。

ローマ風、ロマネスコと生ハムのマリネ

新しい年になったことでもあり、面白い野菜が出ていることを期待して、散歩しがてら、馴染みの農協の売り場に立ち寄ってみた。入った瞬間、何ともフラクタルな野菜が目に留まり、びっくり仰天した。フラクタルは、数学的な概念で、日本語では自己相似形ともいう。全体を見ても、部分を見ても、あるいはどこを観察しても、同じ形になっているものをフラクタルという。

フラクタル図形の簡単な例を示そう。

直線の線分が与えられた時、それを三等分し、その中の真ん中の線分を底にして正三角形を描き、底となっていた線分を取り除く。この操作によって、すそ野の広い富士山のような線画が出来る。次にそれぞれの線分に対して(このときは4つの線分がある)、同じ操作を繰り返す。真ん中に大きな塔が建ち、その両横には小山がある図形が現れる。さらにそれぞれの線分に対して(このときは16線分)に対して、同じ操作を繰り返す。雪の結晶模様のような、あるいは、クリスマスツリーのような、きれいな図形が得られる。
f:id:bitterharvest:20200110142046p:plain
農協の売り場で発見した野菜は、今説明した図形を3次元にして表したような形をしていた。
f:id:bitterharvest:20200110111324j:plain
大きくすると、同じような構造が繰り返えされていることが確認できる。
f:id:bitterharvest:20200110120135p:plain
店頭には、ロマネスコと紹介され、サラダにするとおいしいと説明があった。このように綺麗なフラクタルを自然界で見るのは初めてだ。大学の講義でフラクタル図形について説明をしたことがあるが、ロマネスコを見せれば学生たちはさぞかし感動したことだろうと思うと、これまで巡り合えなかったことがとても残念に感じられた。

先ほど線分で説明したフラクタルな図形は、線分だけで構成されているので、1次元の世界に属するのだが、その構成された図形を考えると、1次元と2次元の中間に位置する。ロマネスコも、表面は2次元だが、複雑に表面が構成されているので、その表面は2次元と3次元の中間に位置する。

なぜフラクタルな形状を必要とするのだろうと考えると面白い。自然界には2次元と3次元とが競合する世界が存在する。人間の体は、内部は3次元だが、皮膚の部分は2次元だ。熱(エネルギー)は3次元の体内に蓄えられているが、その体内と外部との熱の差をコントルールしているのは2次元の皮膚の部分である。

北国に住む人々は、外気が寒いので、なるべく体内の熱を逃がさないようにしたい。そのためには、熱を蓄えられるようにするか、熱を逃がさないようにするのがよい。熱を蓄えられるようにするためには、体を大きくするのがよい。これにより3次元の体が増える割合は、2次元の皮膚のそれよりも、ずっと大きいので、熱を蓄えやすくなる。北欧の人々の身長が高いのはこのためという説明もある。

あるいは、熱を逃がさないようにする。このためには表面を小さくすることだが、これは丸い体にすることで達成される。ポーランドの人々を見ていると、ずんぐりで丸顔の人が多いので、自然淘汰という戦いの中で、この戦略をとったのかと思わずにはいられない。

逆に、暑い国の人は低身長で、やせ型となる。中国の人々を観察すると、北京の人々は高身長の人が多いが、南の広東の人は低身長なのはこのためだろう。

脳の構造も同じだと言われている。脳の重要な機能は、表面の部分が担っているので、表面積を大きくしたい。このために、複雑なしわによって脳の表面積を稼ぎ出していると言われている。すなわち面という2次元の構造なのだが、しわを利用することで3次元の構造に近いものを作り出している。限られた頭部の空間の中に大きな脳を作り出すための工夫の一つである。

フラクタルはこのように、自然界とも深い結びつきを有しているのだが、このように美しい形状のものを、正月早々に見ようとは夢にも思わなかった。

夕飯には、ここで購入したロマネスコを早速使うことにした。我が家では、朝は私が、夜は妻が支度をすることにいつの間にかなってしまったので、妻に頼んでロマネスコのマリネを用意してもらった。

ロマネスコの英語での表記はRomanesco broccoli、イタリア語での表記はBroccolo Romanescoである。分類学上はカリフラワーに属すそうだが、形状がブロッコリーに似ているので、英語でもイタリア語でもブロッコリーになっているのだろう。

ロマネスコのマリネはいたって簡単で、生ハムと温めたロマネスコをマリネするだけでよい。今回は、イタリア製の生ハムを用いたので、ロマネスコの名前にちなんでローマ風マリネだ。

ロマネスコは、一口大に切って、電子レンジで温める。使用した電子レンジには、ゆで葉果菜という設定があったので、これを利用。1個分を温めたのが下の写真。
f:id:bitterharvest:20200110111152j:plain
そして生ハム。
f:id:bitterharvest:20200110111214j:plain
マリネは、サラダ油大さじ2杯、酢大さじ1杯、あらびきマスタード小さじ1杯、塩小さじ1/4杯を混合。
f:id:bitterharvest:20200110111238j:plain

ロマネスコは半分、生ハムは3枚もちいて、2人分のマリネを用意してくれた。
f:id:bitterharvest:20200110111301j:plain

ロマネスコはもう少し歯ごたえのある硬さの方が良いように感じた。電子レンジで茹でているときに電話がかかってきたので、茹ですぎになったというのが妻の弁明であった。

黄金色に輝く東大本郷の銀杏並木を通り抜けてダイヤモンド教授の講演を聞く

ジャレド・ダイアモンド教授の講演が東大の安田講堂で開催されたので、12日(木曜日)聴講に行った。正門から入構すると安田講堂の正面入口に向かう道の両脇の銀杏並木が、見事な黄金色に輝いていた。こんなに綺麗だったかと目を見張ってしまった。学生運動が激しい頃には、道の両側には大きな看板が立ち並んでいて、別の意味で訪れる人を驚かした場所である。時代の流れとともに、学生たちの意識の変化も感じられた。

正門を入ってすぐの左側にある小ぶりの建物が工学部列品館、学生時代にはここで実験をしたこともある懐かしい建物で1920年の完成、右側が法学部3号館で1927年、それに続いて古めかしい荘厳な建物が左右にあるが、法文1号館・2号館で、1935年と38年の完成で、いずれも東大総長を務め、文化勲章を受章した内田祥三(よしかず)教授の設計で、ゴシック様式の建物である。

安田講堂は匿名者からの寄付で建設されたが、財閥の安田善次郎さんからであることが彼の死後に知られ、安田講堂と呼ばれるようになった。建物は1921年の起工だが、1922年の関東大地震による工事の中断を経て、1925年に竣工した。内田祥三教授と弟子の岸田日出刀教授が設計した。

これらの建物は、歴史的な価値が認められ、すべて東京都の登録有形文化財に指定され、大正・昭和初期の荘厳で重厚な建築様式を伝えてくれる。学生の頃は、法文1号館と法文2号館のそれぞれにあるアーケードを抜けて通学するのが大好きだった。世間とは一線を画した薄暗いアーケードを通り抜けるとき、ここが学問の殿堂だと感じたものだった。

安田講堂へと通じる道は、学問の殿堂とは程遠く、観光スポットになっていた。黄金色に輝く銀杏並木が見ごろということもあるのだろう、インスタグラムにでも載せるのであろうか、たくさんの観光客が撮影に興じていた。キャンバスに絵を描いている人々も少なからず見かけた。
f:id:bitterharvest:20191218105803j:plain

足元も落ち葉で埋め尽くされ、空間全体を黄金色にしていた。
f:id:bitterharvest:20191215110628j:plain

法文1号館と法文2号館の間も黄金色に染まっていた。
f:id:bitterharvest:20191215110649j:plain
重厚なレンガ造りの建物が悠久の時間へと誘ってくれるが、不思議な樹木の銀杏もこれに負けることはない。銀杏は広葉樹ではなく、針葉樹に近い。2億7000年という長い年月を生き抜いてきたとされている。日本には、中国から室町時代後期に伝来したとされる。ヨーロッパには、ドイツ人医師のエンゲルベルト・ケンペルが1692年に長崎から銀杏の種を持ち帰り、オランダのユトレヒトやイギリスのキュー植物園で栽培され、広まったとされている。またこのとき、銀杏(ギンコウ)の音訳を誤ってGinkgoとしたため、今日まで修正されずにこのスペルが使われている。

これから講演を聞く安田講堂の前も、同じように観光スポットになっていた。
f:id:bitterharvest:20191215110720j:plain

今回の講演は、今年度のブループラネット賞を受賞したジャレド・ダイアモンド教授とエリック・ランバン教授を招いてのものである。ブループラネット賞は、地球の環境問題の解決のために優れた研究をした人や、熱心に活動をしてきた人をたたえるために設けられた賞で、旭硝子財団が主催している。今年度が28回目で、旭硝子が早い時期から地球の環境問題に取り組んできたことは称賛に値する。

講演は、第一部がランバン教授、第二部がダイアモンド教授と分かれて行われた。それぞれが1時間半で、受賞者が30分ほど講演をしたあと、1時間ほど質疑応答が行われた。高校生や大学生、あるいは留学生からも、活発な質問がたくさん出され、最近の若い人たちが積極的であることに、驚かされるとともに、力強さを感じた。

ダイアモンド教授は、幅広い研究分野で活躍されている方で、「知の巨人」とも言われ、現在82歳。ピュリッツァー賞に輝いた『銃・病原菌・鉄』の著者でもある。彼が若いころにパプア・ニューギニアを学術調査しているとき、手伝いをしてくれた現地の人から「あなたの国は文明が発達したのに、私のところはどうしてそうならなかったのか?」という質問を受けたが、その時は応えられなかった。解答を見出すために長い年月を有したが、現地人の質問に対する答えがこの本である。

彼は、その他にもたくさんの本を出版していて、最近では『危機と人類』という本を出版した。英語のタイトルは刺激的で、”Upheaval(大激変)”である。講演の中で、「どの言葉を一番大切に考えていますか」という質問を受けたときに、「リスク」と答えた。パプア・ニューギニアのような原始社会では、誤って足の骨を折ってしまうと、一生歩行困難になってしまうので、リスクには細心の注意を払う必要があるとのことだった。この講演に、彼は奥さんを伴ってきていたが、仕事のために急ぎ帰国しなければならないということで、彼が話している最中に奥さんは抜け出した。彼はこれを引き合いに出して、「私はぎりぎりで空港に向かうようなことはしない。何が起こるかわからないので、何時間も前から空港で待つので、いつも家族に笑われている」と説明してくれた。

『危機と人類』の中で、彼は国家の危機について論じている。国家という複雑な組織は捉えにくいので、個人が危機をどのように乗り越えるかという視点を通して観察したらどうだろう、と提案している。彼の考え方に対して、Amazonのレビューの中に、個人の危機から国家の危機を捉えるのはどうかという意見があった。この意見は正しいのだろうかと感じたので、数学的な視点から考察を行ってみた。

国家は激変ともいえる大きな転換点を迎えるときがある。日本を例にとるならば、663年の白村江の戦で敗れたときや、1853年の黒船の来航だろう。白村江での敗戦の結果、律令制を導入することとなったし、黒船の来航により明治維新という大きな改革を行った。このような激変をどのように乗り越えたかを理解することは簡単な作業ではない。

一方、個人の危機の乗り越え方についてはどうだろう。東日本大震災があったとき、心に大きなダメージを受けた人に対して、心のケアの必要性が叫ばれた。専門の精神科医などの協力を得ながら、多くの人が危機を乗り越えたことだろう。米国では、個人が大きな心のダメージを受けたときに、その危機を乗り越えられるかどうかについての決め手は分かっているそうだ。そこで国家が危機を乗り越えられるかどうかを、個人の決め手を通して観察してはというのが、ダイアモンド教授の提案だ。

ダイアモンド教授によれば、個人的危機を乗り越えられるかどうかの決め手となる要因は12ほど知られている。それらは、「危機に陥っていることを認める」や「行動を起こすのは自分であるという責任の受容」などである。これらを国家のレベルに移して考えようというのが彼の提案である。例えば、先の二つを個人のレベルから、国家のレベルに移したとき、「国家が危機に陥っていることを認める」や「行動を起こすことへの国家としての責任の受容」などとなる。

12の要因に対して、個人のレベルから国家のレベルに移したときの対応関係を示したのが下図である。ここで青は個人、草色は国家である。この対応関係には、人を国に変えるだけで得られる類似的なものが7要因、一般化すると得られるものが2要因、類推によって得られるメタフォ的なものが3要因ある。もちろん個人にはなくて国家だけに存在する要因も7ほどある。
f:id:bitterharvest:20191219161332p:plain

ダイアモンド教授の手法は、よく知られている世界(空間)の構造から、解明されていない世界(空間)の構造を観察しようというもので、自然科学の分野ではよく利用される方法である。数学の分野で、これを担っているのは圏論なので、早速ダイアモンド教授の提案に応用してみよう。

数学の中で一番重要な概念は、「同じである」ことを数学的に表すことである。中学校に入ってすぐに三角形の合同や相似について学習するが、これがそうである。三角形の合同は、二つの三角形が重なり合えば同じということなので、とても分かりやすい。

数学ではこのような具体的な考え方を、だんだんに抽象化していく。例えば、二つの二次元物体があったとき、一つの光源からそれらに光を当て、それが作り出す影が同じになるならば、「同じもの」と見なすこともできる。これは射影幾何学よばれ、この世界では全ての三角形は同じものとなる。

さらに、近いものは近いところに移すという制限の下で、二つの物体の間で、それぞれの全ての点に対して、1対1の関係を得られれば「同じもの」と見なすこともできる。これはトポロジー(位相幾何学)とよばれ、この世界ではすべての多角形は同じものになる。

抽象化をだんだんに進めていくと、圏論という世界にたどり着く。ここでの「同じもの」は、少し難しい言葉だが、「随伴」と呼ばれる。圏論では、対象、射、結合、恒等射から成り立つ、圏という世界を扱う。

対象はメンバー(あるいは集合)と考えるとよい。例えば、学校のあるクラスを考えることにしよう。クラスを構成する生徒たち全員は対象となる。また女子生徒の集合も対象となり、男子生徒の集合も対象となる。さらにテニス部に属している生徒の集まりを対象にしてもよい。対象の決め方は自由で、圏にどのような性格を持たせるかによって決まる。

射は対象と対象の関係と考えればよい。射には方向性があって、ある対象からある対象へと写像される。写像する側をドメイン写像される側をコドメインと呼ぶが、射はすべてのドメインに対して定義されていなければならない。例えば、バレンタインチョコを送るという関係を考えたとき、全ての女子がある一人の男子にチョコを送らなければならないが、チョコをもらえない男子がいても構わないというのが射である。ドメインとコドメインは対象で、ドメインは対象全体であり、コドメインは対象の一部でも構わない。

ある射を施したあと、その結果に対して、別の射を施すことがある。例えば、バレンタインチョコをもらった男子のそれぞれに対して、所属するクラブを求めるなどがそれである。このようにコドメインの対象とドメインの対象が同じであるとき、二つの対象は結合できるというのが、圏に要求されている機能である。さらに、特殊な射として自分自身に移す恒等射がある。

圏と圏の間でも射が定義されるが、これは関手と呼ばれる。この関手を用いて、二つの圏が同じであるかどうかが定義されている。その定義は次のようになる。二つの圏\(\mathcal{C}\),\(\mathcal{D}\)があるとし(図で描くとき\(\mathcal{C}\)を左側に\(\mathcal{D}\)を右側にする)、\(\mathcal{C}\)から\(\mathcal{D}\)への関手を\(R\)(右に向かう矢ということで)、逆方向の関手を\(L\)とする。

\(\mathcal{C}\)の任意の対象\(A\)と\(\mathcal{D}\)の任意の対象\(B\)に対して、\(L(B)\)から\(A\)への射の集合(\(L(B)\)から\(A\)への射は通常は一つではなく、複数個存在する。このため射の集合と言う言葉を使う)と\(B\)から\(R(A)\)への射の集合とが1対1の関係にある時、\(\mathcal{C}\)と\(\mathcal{D}\)は随伴であるという。二つの圏が随伴であるとき、\(\mathcal{C}\)は\(\mathcal{D}\)よりも複雑な構造を有するが、\(\mathcal{D}\)の構造が全て\(\mathcal{C}\)では保持されているという意味で、同じであると見なしている。
f:id:bitterharvest:20191218103406p:plain

ダイアモンド教授の提案では、危機の対処法に対して、複雑な構造を有する方が国家で、簡単な方が個人である。そして、個人での構造が国家の中でそのまま保持されていると言っている。これを圏論で描いてみよう。

国家を圏\(\mathcal{C}\)とし、個人との対応関係がある要因の集まりを対象\( A=\{N1,N2,N3,N7,N4,N5,N8,N9,N12,N6,N10,N11\} \)とし、対応関係がない要因の集まりを対象\( A’=\{N21,N22,N23,N24,N25,N26,N27\} \)とする。

個人を圏\(\mathcal{D}\)とし、国家との対応関係がある要因の集まりを対象\( B=\{I1,I2,I3,I7,I4,I5,I8,I9,I12,I6,I10,I11\} \)としよう。また、国家との対応関係がない要因の集まりを\( A’=\{N21,N22,N23,N24,N25,N26,N27\} \)とする。また圏\(\mathcal{C}\)の対象\(A’\)の任意の要素\(n’\)は、圏\(\mathcal{C}\)の一つの要素\(Nothing\)から成り立っている対象に写像されるものとしよう。すなわち、\(R(A’)=\{Nothing\}\)である。

圏\(\mathcal{C}\)と圏\(\mathcal{D}\)の関係を表すと図のようになる。
f:id:bitterharvest:20191219161009p:plain

この図から対応関係を詳細に検討してみると、二つの圏が随伴となっていることが分かる。詳しい説明は省くが、\(\mathcal{C}\)には、対象として\(A\)と\(A'\)と\(L(B)\)がある。また\(\mathcal{D}\)には、対象として\(B\)と\(R(A)\)と\(R(A')\)とがある。\(\mathcal{C}\)と\(\mathcal{D}\)からそれぞれ任意に一つの対象を取り出し、これを\(X\)と\(Y\)とする。このとき、\(L(Y)\)から\(X\)への射の集合と\(Y\)から\(R(X)\)への射の集合とが1対1の関係にあることを示せばよい。あるいは、\(L \circ R (X) \rightarrow I_\mathcal{C} (X)\)と \(I_\mathcal{D} (Y) \rightarrow R \circ L (Y) \)が成り立つことを示せばよい。証明は省くが成り立つので、ダイアモンド教授の提案は正しいことが分かり、Amazonでのレビューでの懸念は必要ないこととなる。

ダイアモンド教授は、明治維新をもたらした具体的な対応がどの要因に相当するかを示しているが、それをまとめたのが次である。
f:id:bitterharvest:20191217143205p:plain

ダイアモンド教授が提案されている方法を用いて、白村江での戦いという危機を迎えたときの、天智・天武・持統朝での対応を分析すると面白いと思うが、それについては次の機会ということにしたい。

圏論をデータベースに応用する(2)

5.4 セッターとゲッターの関手を一般化する

前回の記事の中で、説明の中心となっていた\(Store \ a \)という関手は、代数的データ型を用いて、

data Store a s = (a, a -> s)

で定義した。しかしこれはデータベースでのセッターとゲッターを分かりやすくするための便宜的な方法である。すなわち、これらの操作でデータ型が変化しないように、

get :: s -> a
set :: s -> a -> s

としたためである。

しかし、セッターでは、フィールドに書き込むデータが、今までに書き込まれていたデータ型とは異なる可能性もある。その結果、レコードのデータ型も影響を受けるので、セッターとゲッターの型シグネチャは、一般的には

get :: s -> a
set :: s -> b -> t

となる。これに対応させて、代数的データ型を定義すると、

data IStore a b t = (a, b -> t)

となる。データ型の変化を許す\(IStore\)はインデックス付き\(Store\)と呼ばれる。このため、\(Store\)の前に\(I\)がついている。しかし、タプルのかたちでは使いにくいので、\(IStore\)を次のように定義しなおして、以下ではこれを利用することにしよう(とはいっても、証明に入ると元の形で用いるので、ご容赦ください)。

data IStore a b t = IStore a (b -> t)


\(Store\)は関手にして用いたが、同じように\(IStore\)も関手として用いる。そのためには関手の概念を拡張したインデックス付き関手\(IxFunctor\)が必要である。

class IxFunctor w where
  imap :: (s -> t) -> w a b s -> w a b t

f:id:bitterharvest:20191107160340p:plain
図10:インデックス付き関手での\(i map \) (射\(f\)を関手\(W\)で写像\(W(f)\))-図はHaskellでの表現

\(IStore\)は、このインスタンスとなる。

instance IxFunctor IStore where
  imap f (IStore x h) = IStore x (f . x)

インデックス付きのコモナドは、

class IxComonad w where
  iextract :: w a a t -> t
  iduplicate :: w a b t -> w a j (w j b t)

となり、このインスタンスなので、

instance IxComonad IStore where
  iextract (IStore a h) = h a
  iduplicate (IStore a h) = IStore a (\c -> IStore c h) 

となる。

さらに、F-余代数は、圏\(\mathcal{C}\)とその上の自己関手\(F\)に対して、\(\mathcal{C}\)の対象\(A\)と、\(\mathcal{C}\)の射\(β: A \rightarrow F(A) \)との組\( (A,β) \)である。これを考慮すると、F-余代数は

type ICoalg w s t a b = s -> w a b t

となる。

5.5 コモナドとF-余代数

前回の記事で説明したコモナド余代数について復習しておこう。

Haskellではコモナドを次のように定義した。

class Functor w => Comonad w where
  extract :: w a -> a
  duplicate :: w a -> w (w a)

そして満たさなければならない条件は、

extract . duplicate      = id
fmap extract . duplicate = id
duplicate . duplicate    = fmap duplicate . duplicate

である。
また、F-余代数は

type Coalgebra w a = a -> w a

とし、評価射を

coalge :: Coalgebra w a

で定義した。このとき、

extract . coalg = id
fmap (coalg) . colag = duplicate . coalg

を満足するとき、F-余代数を特別にコモナド余代数と呼んだ。可換図式では次のようになった。

f:id:bitterharvest:20191113100113p:plain
図11:コモナド余代数になるための条件

これと同じことを、インデックス付き関手に対して、考えてみよう。

1番目の条件は\(iextract\)に関連し、

icoalg_aa :: ICoalg w s t a a
iextract . icoalg__aa  = id

となる。

2番目の条件は\(iduplicate\)に関連する。F-余代数では下図が成り立つ。

f:id:bitterharvest:20191107165846p:plain
図12:F-余代数の空間-図はHaskellでの表現

図に示すように、

icoalg_ab = s -> w a b t
u = w a b t
v = w a b t'
icoalg_bc = u -> w b c v

とすると、

icoalg_bc . icoalg_ab = s -> w a b t -> w b c (w a b t')

となる。

即ち、2番目の条件は以下のようになる。

icoalg_ab :: ICoalg w s t a b = s -> w a b t
icoalg_bc :: ICoalg w s t b c = s -> w b c t
icoalg_ac :: ICoalg w s t a c = s -> w a c t
icoalg_bc . icoalg_ab = iduplicate . icoalg_ac

可換図式で示すと下図の通りである。コモナド余代数の場合には、コモナドに与えられた射で計算しても、余代数での評価射を用いて計算してもよいこととなる。

f:id:bitterharvest:20191107164459p:plain
図13:コモナド余代数となるための条件-図はHaskellでの表現

5.6 評価射と代数的データ型\(Lens\)

関手\(Istore\)はコモナドであるので、これをコモナド余代数とするような評価射\(β : s \rightarrow IStore \ a \ b \ t \)を見つけることができれば、これを用いても計算できるようになる。

ここでは、前回の記事で説明した\(Lens\)をとりあげよう。\(Lens\)を最初に定義し、そのあと\(Lens\)が評価射であることを示そう。

\(Lens\)がどのように見出されたのかは不明であるが、これを発見した人はすごいと思う。さらに、\(Lens\)が評価射であることを証明した人も素晴らしいと思う。証明は、Russel O’Connorさんの論文に示されているが、次のような逸話が残っている。実は、Bartosz Milewskiさんも同じころに気がついたそうで、証明が正しいかどうかを確認するために、そのドラフトをRussellさんに送った。そうしたら、Russellさんから同じ趣旨の論文を書いている最中だと言われたそうだ。今回の記事はBartoszさんの説明をベースにまとめたものだ。余談だが、世界は広いので、独創的な研究だと思っているときでも、複数の研究者が取り組んでいることが多い。このため、成果の公表には、戦略が必要だ。

Haskellでは、\(Lens\)は次のように定義している。

type Lens s t a b = forall (f :: * -> *). Functor f => (a -> f b) -> (s -> f t)

\(type\)で定義されているが、これは紛れもなく代数的データ型である。

\(Lens\)の使い方については、前回の記事で説明したが、そのとき用いた関数や変数の型シグネチャを確認しておこう。

車のデータベースに対して次のように定義した。車のレコードは、\(Car\)というデータ型を有し、フィールドには、製造社を示す\(maker\)と仕様を表す\(spec\)がある。仕様はデータ型\(Spec\)で定義し、そのサブフィールドには、車の名前の\(name\)と製造年の\(year\)がある。そして\(makeLenses\)を用いて、これらを\(Lens\)というデータ型にした。

{-# LANGUAGE TemplateHaskell #-}

import Control.Lens

data Car = Car {_maker :: String , _spec :: Spec} deriving Show
data Spec = Spec {_name :: String, _year :: Int} deriving Show 

makeLenses ''Car
makeLenses ''Spec

それでは型シグネチャを調べてみよう。\(Getter\)と\(Setter\)の関数である\( (^.) \) と\( (.~) \)、およびフィールドの名前について求めると次のようになる。

f:id:bitterharvest:20191108082436p:plain
図14:データ型\(Car\)で用いられているフィールド名の型シグネチャ
これから、ゲッターの\( (^.) \) とセッターの\( (.~) \)は、それぞれ引数\(Getting\)と\(ISetter\)を有し、そのデータ型はいずれも\(Lens\)である。従って、この引数によりアクセスすべき場所を得ていることが分かる。この場所を与えているのが、それぞれのフィールドを表している\(maker, spec, name, year\)だ。いずれもデータ型は\(Lens\)となっていることに気がつく。

これからの話は\(Lens\)が評価射であることを示すものだが、\(maker, spec, name, year\)がそのインスタンスであることを念頭に置いて進めよう。まずは\(Lens\)と\(IStore\)の関係をついて考えてみよう。

\(Lens\)のデータ型の定義で、\(a \rightarrow f \ b \)はフィールドの変更、\(s \rightarrow f \ s \)はレコードの変更と見なせばよい。上記の定義は、前回の説明で見慣れた\( Store \)とはだいぶ異なるように見えると思うが、式を変形すると、

forall (f :: * -> *). (a -> f b) -> (s -> f t)

は、

s -> forall (f :: * -> *). (a -> f b) ->f t

となる。

このように書き換えると

forall (f :: * -> *). (a -> f b) ->f t

data IStore a b t = IStore a (b -> t)

すなわち

data IStore a b t = (a, b -> t)

が等しければ、\(Lens \ s \ t \ a \ b = λ s \rightarrow IStore \ a \ b \ t \)となり、\(Lens\)が評価射であることが示される。以下ではこれを示そう。

5.7 米田の補題とグロタンディーク関手

それでは米田の補題を復習しよう。
[米田の補題]
局所的に小さな圏を\(\mathcal{C}\)とする。即ち、任意の対象\(A,B\)に対して、\(A\)から\(B\)への写像の集まりが集合となる圏について考える。このとき、全ての対象\(A\)に対して、\( {\rm Hom}_\mathcal{C} \)関手と呼ばれるものを用意することができ、これは集合の圏\( \mathbf{Set}\)への自然変換を与えるというのが米田の補題である。具体的に表してみよう。

\( {\rm Hom}_\mathcal{C} \)関手は
\begin{eqnarray}
h^A = {\rm Hom}_\mathcal{C} (A,-)
\end{eqnarray}
と表され、これは、任意の対象\(X\)に対して、射\( {\rm Hom}_\mathcal{C}(A,X) \)を与え、任意の写像\(f : X \rightarrow Y\)に対して、射\(f \circ - \)を与える。なお、任意の射\(g \in {\rm Hom}_\mathcal{C}(A,X) \)に対して、\(f \circ g \in {\rm Hom}_\mathcal{C}(A,Y) \)となる。式で表すと、
\begin{eqnarray}
h^A (f) &=& {\rm Hom}_\mathcal{C}(A,f) \\
h^A (f)(g) &=& f \circ g
\end{eqnarray}

f:id:bitterharvest:20191104155402p:plain
図15:\( {\rm Hom}_\mathcal{C} \)関手

\(F\)を\(\mathcal{C}\)から集合の圏\( \mathbf{Set}\)への関手としよう。このとき米田の補題は「\( h^A\)から\(F\)への自然変換は\(F(A)\)と1対1対応(全単射)である」となる。即ち、
\begin{eqnarray}
Nat_{[\mathcal{C},\mathbf{Set}]} (h^A,F) \cong F(A)
\end{eqnarray}
となる。ただし、\( [\mathcal{C},\mathbf{Set}] \)は、圏\(\mathcal{C}\)から、圏\(\mathbf{Set}\)への関手を射とした圏である。

ここで自然変換が出てきたので、若干の説明を加えておこう。圏\(\mathcal{C}\)からは、関手\( {\rm Hom}_\mathcal{C} (A,-) \)と、(集合の圏へと移す)任意の関手\( F \)が存在し、それぞれは集合の圏\( \mathbf{Set}\)に写像する。このとき、\( {\rm Hom}_\mathcal{C}(A,-) \)から\( F \)へ自然変換が存在し、\(A\)について自然であるというのは、図10での\(X,Y\)を\(A,B\)に変え、任意の\(B\)に対して、\(A\)から\(B\)への任意の射\(f : A \rightarrow B \)を考えたとき、\(θ_B \circ h^A(f) = F(f) \circ θ_A \)が成り立つことと同じである。図11にこれを示す。

f:id:bitterharvest:20191105114646p:plain
図16:米田の補題における自然変換

ところで、米田の補題は\( {\rm Hom}_\mathcal{C} (A,f) (id_A) = f \)を利用することで証明できる。証明はここでは省く。

米田の補題で、\(F\)は、集合の圏\(\mathbf{Set}\)への関手であれば、なんでもよかった。\( {\rm Hom}_\mathcal{C} (B,-) \)は、集合の圏\(\mathbf{Set}\)への関手なので、米田の補題での\(F\)を\( {\rm Hom}_\mathcal{C} (B,-) \)で置き換えると、
\begin{eqnarray}
Nat_{[\mathcal{C},\mathbf{Set}]}({\rm Hom}_\mathcal{C}(A,-),{\rm Hom}_\mathcal{C}(B,-)) \cong {\rm Hom}_\mathcal{C}(B,A)
\end{eqnarray}
を得る。そしてここでの自然変換は、グロタンディーク関手(Grothendieck functor)と呼ばれる。図で示すと次のようになる。

f:id:bitterharvest:20191105135520p:plain
図17:グロタンディーク関手

圏\(\mathbf{Set} \)の代わりに圏\( [\mathcal{C},\mathbf{Set}] \)を使って表すと下図のようになる。

f:id:bitterharvest:20191105140027p:plain
図18:グロタンディーク関手(別表現)

これをHasekllで表すと

forall c. (a -> c) -> (b -> c) ≃ (b -> a)

となる。

ここでは、\(A,B\)は局所的に小さな圏\( \mathcal{C} \)の対象であった。それでは、この圏の射を対象とした圏\( [\mathcal{C} , \mathcal{C}]\)を考えてみよう。米田の補題を適用すると
\begin{eqnarray}
Nat_{[ [\mathcal{C} , \mathcal{C}],\mathbf{Set}]} ({\rm Hom}_{[\mathcal{C} , \mathcal{C}]} (g,-), {\rm Hom}_{ [\mathcal{C} , \mathcal{C}]} (h,-)) \cong {\rm Hom}_{ [\mathcal{C} , \mathcal{C}]} (h,g)
\end{eqnarray}
となる。

これはHaskellでは

forall f. (forall c. g c ->  f c) -> (forall c’. h c’ -> f c’) ≃ (forall c. h c -> g c)

となる。

5.8 随伴

随伴の定義は、圏 \( \mathcal{C} \)と\( \mathcal{D} \)、その間の関手\(L:\mathcal{D} \rightarrow \mathcal{C}\)と\(R:\mathcal{C} \rightarrow \mathcal{D}\)において、任意の対象\(A \in \mathcal{C},B \in \mathcal{D} \)に対して\( {\rm Hom}_{\mathcal{C}} (L(B),A) \)と \( {\rm Hom}_{\mathcal{D} } (B,R(A) ) \)とが一対一対応(全単射)であること、すなわち
\begin{eqnarray}
{\rm Hom}_{\mathcal{C}} (L(B),A) \cong {\rm Hom}_{\mathcal{D} } (B,R(A) )
\end{eqnarray}
が成り立つことである。

f:id:bitterharvest:20191106084540p:plain
図19:随伴

Bartoszさんは、圏 \( \mathcal{C} \)と\( \mathcal{D} \)の代わりに、圏 \( \mathcal{C} \)から圏\( \mathcal{C} \)への関手を対象とした圏\( [\mathcal{C} , \mathcal{C}]\)を用いた場合には、随伴が成り立つことを発見した。すなわち下記の式が成り立つことを示した。
\begin{eqnarray}
{\rm Hom}_{ [\mathcal{C},\mathcal{C}]} (L(g),f) \cong {\rm Hom}_{ [\mathcal{C},\mathcal{C}]} (g,R(f) )
\end{eqnarray}
図で表すと、

f:id:bitterharvest:20191105141318p:plain
図20:圏\([\mathcal{C},\mathcal{C} ] \)での随伴

この随伴をHaskellで表すと、

forall f. (forall c. (L g) c ->  f c) ≃ (forall c. g c -> (R f) c

となる。

5.9 証明

ここまでは準備だ。ここからが証明で、グロタンディーク関手から\(Lens\)が評価射であることが導き出される。小さな圏\( \mathcal{C} \)から\( \mathcal{C} \)への関手を対象とした圏\( [\mathcal{C} , \mathcal{C}]\)に対してグロタンディーク関手を求めると次のようになる。

\begin{eqnarray}
Nat_{[ [\mathcal{C} , \mathcal{C}],\mathbf{Set}]} ({\rm Hom}_{ [\mathcal{C} , \mathcal{C}]} (g,-), {\rm Hom}_{ [\mathcal{C} , \mathcal{C}]} (h,-)) \cong {\rm Hom}_{ [\mathcal{C} , \mathcal{C}]} (h,g)
\end{eqnarray}
グロタンディーク関手を圏\( [\mathcal{C} , \mathcal{C}]\)に適応したのがミソで、左辺から\(Lens\)の代数的データ型が、右辺からコモナドの機能を有する\(IStore\)のデータ型が導き出され、\(Lens\)が評価射であることが示される。それでは式を変形してみよう。

上の式で、\(g\)を\(L(g)\)で、\(h\)を\(L'(h)\)で置き換えると、
\begin{eqnarray}
\forall f. Nat_{[ [\mathcal{C} , \mathcal{C}],\mathbf{Set}]} ( {\rm Hom}_{ [\mathcal{C} , \mathcal{C}]} (L(g),f), {\rm Hom}_{ [\mathcal{C} , \mathcal{C}]} (L'(h),f))) \cong {\rm Hom}_{ [\mathcal{C} , \mathcal{C}]} (L'(h),L(g) )
\end{eqnarray}
となる。

随伴を用いて書き換えると、
\begin{eqnarray}
\forall f. Nat_{[ [\mathcal{C} , \mathcal{C}],\mathbf{Set}]} ({\rm Hom}_{ [\mathcal{C} , \mathcal{C}]} (g,R(f)), {\rm Hom}_{ [\mathcal{C} , \mathcal{C}]} (h,R'(f))) \cong {\rm Hom}_{ [\mathcal{C} , \mathcal{C}]} (h,R'(L(g)) )
\end{eqnarray}

Haskellで表すと

forall f. (forall c. g c ->R f c) -> (forall c'. h c' -> R' f c') ≃ (forall c. (h c -> R' (L g) c)

だ。

ここで、\(g\)と\(h\)は\( {\rm Hom}_{ \mathcal{C} } \)関手なので、
\begin{eqnarray}
g &=& g^B &=& {\rm Hom}_{ \mathcal{C} } (B,-) \\
h &=& h^T &=& {\rm Hom}_{ \mathcal{C} } (T,-)
\end{eqnarray}
である。\(R(f)\)と\(R’(f)\)も\( {\rm Hom}_{ \mathcal{C} } \)関手なので、
\begin{eqnarray}
{\rm Hom}_{ [\mathcal{C} , \mathcal{C}]} (g,R(f)) & \rightarrow & Nat_{[\mathcal{C} , \mathcal{C}]} (g^B, R(f)) \\
{\rm Hom}_{ [\mathcal{C} , \mathcal{C}]} (h,R'(f)) & \rightarrow & Nat_{[\mathcal{C} , \mathcal{C}]} (h^T, R’(f)) \\
{\rm Hom}_{ [\mathcal{C} , \mathcal{C}]} (h,R'(L(g)) & \rightarrow & Nat_{[\mathcal{C} , \mathcal{C}]} (h^T,R'(L(g))
\end{eqnarray}
となり、これらに米田の補題を適応すると、
\begin{eqnarray}
\forall f. {\rm Hom}_{[ [\mathcal{C} , \mathcal{C}],\mathbf{Set}]} ( R(f(B)), R'(f(T)) ) \cong R'(L(g(T)))
\end{eqnarray}
となる。

ここで、圏論Haskellの対応関係を示しておこう。ここまでの議論で、左側は、 \( \mathcal{C} \)から \( \mathcal{C} \)への関手を射とした圏\( [\mathcal{C}, \mathcal{C}] \)であり、右側は集合の圏\(\mathbf{Set}\)である。従って、\( (R \ f) \ B \)は出力を\( f(B) \)とする射であることが分かる。いま入力を\(A\)とすると、\( (R^A \ f) \ B \)は\(A\)から\( f(B) \)への射となる。

圏論Haskell
\(g^B \ C = {\rm Hom}_{ \mathcal{C} } (B,C) \)\( g \ c = (b \rightarrow c) \)
\(h^T \ C' = {\rm Hom}_{ \mathcal{C} } (T,C') \)\( h \ c' = (t \rightarrow c') \)
\( (R^A \ f) \ B = {\rm Hom}_{ \mathcal{C} } (A, f(B)) \)\( (Ra \ f) b = (a \rightarrow f \ b) \)
\( (R'^S \ f) \ T = {\rm Hom}_{ \mathcal{C} } (S, f(T)) \)\( (R's \ f) t = (s \rightarrow f \ t) \)

これより、上記の左辺をHaskellで表すと、

forall f. (a -> f b) -> (s -> f t) 

となる。これは\(Lens\)の定義そのものである。

右辺を変換してみよう。\(R'\)の中を変形しよう。
\begin{eqnarray}
&& Nat_{[\mathcal{C} , \mathcal{C}]} ( L (g), f) \ where f : {\rm Hom}_{ \mathcal{C} } (A,-) \\
&=& Nat_{[\mathcal{C} , \mathcal{C}]} (g, R (f))
\end{eqnarray}

\(g \ T={\rm Hom}_{ \mathcal{C} } (B,T)\)であること、任意の\(T\)に対して\(Nat_{[\mathcal{C} , \mathcal{C}]} (g \ T, R (f) \ T) \)であることに注意を払って、上記をHaskellで表すと、

forall t. g t -> a -> f t
= (a, g t) -> f t
= (a, b -> t) -> f t

となる。これより、\( L (g) \ T\)はHaskellでは\( (a, b \rightarrow t) \)となる。

圏論Haskell
\( L (g(T))=(A,{\rm Hom}_{ \mathcal{C}} (B,T)) \)\( L (g) t =(a, b \rightarrow t) \)

これより、右辺は
\begin{eqnarray}
&& R'(L(g))
&=& R' (A,{\rm Hom}_{ \mathcal{C}} (B,-) )
\end{eqnarray}
となる。従ってHaskellで表すと

R (L (g)) t = s -> (a,b->t)

となる。これの右側\( (a, b \rightarrow t) \)は、コモナドとしての機能を有するセッターとゲッターのための代数的データ型として定義したものである。

data IStore a b t = (a, b -> t)

また、左辺の方は、\(Lens\)のための代数的データ型である。

type Lens s t a b = forall (f :: * -> *). Functor f => (a -> f b) -> (s -> f t)


従って、

Lens s t a b  ≃ s -> IStore a b t

となる。

これにより、\(Lens\)が評価射であることが証明され、めでたしめでたしだ。

情報処理の中で、データベースはとても重要な応用分野である。データベースが、計算についての理論的な根拠を与える圏論と、そして理論的な枠組みの中でプログラミングを可能にしてくれるHaskellとつながった意義はとても大きい。\(Lens\)の発見者は素晴らしい方だと思うし、また\(Lens\)が評価射であることを証明した方もすごいと思う。データベースと圏論の関係については、David I. Spivakがその著書"Category Theory for the Sciences"のなかでも、別の観点から説明している。圏論そしてHaskellが、このように重要な応用分野で利用されることはとても良いことだと思う。

追伸:
最後に、得られた結果を図で示そう。ここには、比較しやすくするために、圏論での表記とHaskellでの記述を合わせて載せた。

f:id:bitterharvest:20191208120846p:plain
図21:\(Lens\)が評価射であることを証明したときの結論を示したもの。

縄文時代から弥生時代への移行期での神奈川県の土偶と植物考古学

日曜日(1日)に神奈川県立歴史博物館で、佐々木由香さんの「植物考古学から見た縄文・弥生移行期」の講演があり、植物考古学というあまり聞きなれない表題に惹かれて参加した。科学技術が進展したおかげで、遺跡から発見された土器に含まれている植物の種の圧痕から、そのレプリカを得て植物の種類を1990年代に同定できるようになった。これはレプリカ法と呼ばれ、さらに走査型電子顕微鏡を用いての新しい方法は、レプリカ・セル法といわれる。

レプリカ・セル法を用いることで、遺跡で生育していた植物の種類が分かるが、その遺跡が長く使われていた場合には、生育していた植物の移り変わりをも知ることができる。さらにそれぞれの時代での気候や集落規模が分かれば、環境が人々の生活にどのような影響を及ぼしたか、また環境の変化に対して人々がどのように適応しようとしたかも知ることができる。

今日の温暖化が地球規模での問題であることは広く認識され、これへの対応が急がれている。この問題を克服するための示唆を与えてくれるのが、縄文時代から弥生時代の移行期に生じた環境変化を克服した人々の英知だろう。植物考古学は、地味な研究ではあるが、今日われわれが抱えている問題に解を与えてくれるとても貴重な学問分野と言える。

佐々木さんが、未発表の内容を含めながら、東日本特に関東での食物の生態系がどのように変わったかをとても分かりやすく説明してくれた。話題が進んでいくうちに、クリ林で囲まれた集落のスライドがあらわれた。直感的にどこかで似たような絵を見たと思っていたところ、「私の恩師は辻誠一郎先生です」と説明されたので、東北北部縄文の旅の記事の中で紹介した辻さんのお弟子さんだと分かった。このために似たような表現法をしているのだろうと納得し、また世の中は狭いとも思った。

佐々木さんの話をとても短くまとめると次のようになる。
1) 生活しやすかった縄文中期は、クリの林を半栽培で育成して大集落を営んだ。
2) 後期・晩期を迎えると、寒冷化によりそれまでの体制を維持できなくなったため、クリに加えてトチノキの半栽培も始め、環境変化に対応しながら生き抜いた。
3) 弥生時代に入ると、クリ・トチノキに加えてイネの栽培を始めるようになった。
このため、一般的に言われているように、クリそして、クリをやめてトチノキ、そしてトチノキをやめてイネへと言うように非連続的に作物栽培が進んだのではなく、重層的に進んだというのが佐々木さんの説だった。そこには縄文・弥生の人びとが、厳しい環境変化に上手に対応してたくましく生き抜いた姿が見えるとも話していた。また植物利用がこのように変化したのは、寒冷化も一つの大きな要因だが、関東では縄文時代後期・晩期に生じた海水準の下降・上昇がもっと大きな要因だったのではないかと説明された。

東北北部縄文の記事の中でも説明したが、中期には集落数も多くそして大規模でもあった。ところが寒冷化が進む後期・晩期には、大集落に住んでいた人々は分散化し、点在して小集落に住むようになる。しかし大集落を営んでいたころの集団の絆を保つために、子孫たちは、彼らの祖先を祀るためのストーンサークルを作り、行事ごとに集まって、一族としての結束を固めたと考えられている。

関東地方では、形態は異なるが、ストーンサークルではなく再葬墓によって、かつての集団の絆の維持を図ったと思われる。再葬墓は、亡くなったあと一時的に埋葬し、骨化したあと再び甕や壺に入れて、集団墓地ともいえるところに埋め直す葬儀で、再葬のとき、離れて生活している一族の人々が集まり、かつて大集団で一緒に暮らしていた一族としての絆を固めたと考えられている。再葬墓は、中部地方と東北地方南部で、縄文から弥生に移行する時期にみられる。

中期での大集落化、後期・晩期での分散化した人々の間での絆を保ちながらの小集落化という現象は、個人的には次のように考えている。中期の頃に人々は、大集落を形成して多くの人々が共同で生活することのメリットを知識として獲得した。後期・晩期になると、寒冷化という気候変動により、大集落で生活することができなくなったが、共同で生活していたころのメリットを生かすために、小集落に分散したあとも、ストーンサークルや再葬墓を利用して、大きな集団としてのメリットを生かせるようにした。このメリットは、厳しい環境に耐え抜くために、離れて住んでいる人々の間で情報を交換することで、環境への適応方法を学習したことだと考えている。縄文後期・晩期の凄まじい人口減少を見ると生き残りは決して生易しいものではなかった。それぞれの地域の事情に合わせて、良い解決策を見出した人々が生き残ったということだろう。戦略が失敗に終わった人々も少なくなかっただろう。たまたま偶然かもしれないが、クリ林とともにトチノキの半栽培を行うという戦略をとった人々の中の運のよかった人々が生き残り、そして遺跡として残ったのだろうというのが、個人的な意見だ。

佐々木さんの講演は、神奈川県立博物館での特別展「縄文と弥生」に合わせて開催された。講演のあと時間があったので、特別展を見学した。縄文時代から弥生時代にかけての土器変遷を視覚化するために、この時代の沢山の土器が展示されていた。特に晩期後葉の浮線文土器が多く展示されていた。この形式は、関東地方、中部地方、東北南部で見られた。

ほとんどが土器という展示の片隅に、なんと土偶が展示されていた。神奈川県の有名な土偶のお出ましである。
縄文時代土偶は、豊穣や多産を祈る祭祀の道具とみられているが、弥生時代になると役割が変わり、蔵骨器として使われるようになる。このため弥生時代土偶は、姿はほとんど変わっていないのに、土偶型容器と呼ばれる。
縄文時代の狩猟採取から弥生時代水稲稲作へと生業の形態が変化する中で、土偶の使われ方も変化したものと思われる。

展示されていた土偶は、縄文時代後期のものである。
鎌倉市の東正院出土の筒型土偶、ハート型土器の成員でもある。トーハクと横浜市歴史博物館のハート型土器は残念ながら展示されていなかった。
f:id:bitterharvest:20191203172342j:plain
綾瀬市上土棚南遺跡出土の中空土偶である。頭部を想像して、縄文の人々の仲間になるのもまた楽しい。
f:id:bitterharvest:20191203172401j:plain
平塚市王子ノ台遺跡出土の中空土偶。お面のような顔立ちから「仮面土偶」とも呼ばれる。古墳時代の埴輪を連想させてくれるが、この土偶は本当は美しい女性である。
f:id:bitterharvest:20191203172430j:plain
昨年発見された秦野市菩提横手遺跡出土の中空土偶。あちらこちらの展示会に引っ張り出されて忙しい1年を過ごした。
f:id:bitterharvest:20191203172449j:plain
大井町中屋敷遺跡出土の弥生時代土偶形容器。前の方にちょこんと見えているのが骨片。
f:id:bitterharvest:20191203172510j:plain
中屋敷遺跡は、神奈川県では最も初期の弥生集落で、イネ・キビ・アワの炭化穀類が出土したことから、稲作が始まったと考えられている。
f:id:bitterharvest:20191203172529j:plain

今回は、縄文から弥生への移行期に関しての講演と特別展であった。旧石器時代から縄文への移行期、弥生時代から古墳時代への移行期など、歴史の中での移行期は激変のときなので、その原因と結果を考察することは面白い。縄文から弥生への移行期については、まだまだ分かっていないことの方が多いので、植物考古学のような地道な研究がなぞ解きをしてくれることを期待している。さらにその成果が今日の問題への解決策を与えてくれればなおさらよいとも思う。このようなことを考えながら夕闇が迫る神奈川県立博物館を後にした。

東北北部縄文の旅:御所野遺跡

最後の訪問地の御所野遺跡は、岩手県二戸郡一戸町に位置する、縄文中期(4,500~4,000年前)の遺跡である。下図のように、東ムラ、中央ムラ、西ムラと3か所の集落があり、また、中央には配石遺構(ストーンサークル)がある。500年間使われ、800軒の住居跡がある。
f:id:bitterharvest:20191129143804j:plain

縄文時代は、定住型の狩猟(漁撈)採取生活と位置付けられているが、実はその中身については、あまり理解していなかった。今回の旅を終えて整理している中で、この記事を書く直前になって、東大名誉教授の辻誠一郎さんが、JOMONFANに書かれた連載企画「北の縄文、海と火山と草木と人と」を読んで、初めて納得した。一言で言うと、「北の縄文人の人々は里山を作っていた」と辻さんは述べていて、説得力のある説明だった。

三内丸山遺跡年報20に、辻誠一郎さん他の「三内丸山遺跡の集落景観の復元と図像化」の研究論文が掲載されている。その43ページには三内丸山集落生態系の景観モデルが載っている。そこには、集落と半栽培化されたクリ林からなる里地、里地をとりまく台地ではクリ・なら類などの落葉広葉樹林からなる里山、里地をとりまく低地ではヤチダモ・ハンノキ湿地林となり、川や海へとつながって里川、里海が描かれ、三内丸山地域の景観が見事に復元されている。また里山の外側の奥山はブナ林となっている。人々は里地、里山でのクリの育成・維持・管理に努め、そして里山でのたきぎの切り出しなどをしながら林の生育に努めたのだろう。

また縄文時代後期の中居遺跡についても、八戸市埋蔵文化センター是川縄文館研究紀要5号の中の、吉川昌伸さんと吉川純子さんの論文「是川遺跡の縄文時代晩期の景観復元」の11ページに示されている。三内丸山遺跡と比較すると、かなり小規模にはなっているものの、住宅の周りの里地にクリ林が、それを取り巻く里山にクリ・トチノキ林がある。さらにその外側にゴボウ・ヒエ・ダイズ族やアサの畑が展開されている。食物の栽培がそろそろ始まったことを教えてくれる。

御所野縄文公園のホームページを改めてみると、「里山づくり」という項目がある。旅行に出かける前には気にも留めなかったが、縄文時代のキーワードは「里山」と認識したので、里山作りは、縄文時代を経験し検証するためのとても重要な活動だ、と今では理解している。

御所野遺跡に踏み入るためには、令和の時代から4000年前の縄文の時代をつなぐ懸け橋、全長86.5mの「きききのつり橋」を渡らなければならない。ここは谷が深いので、ロープを渡しただけの吊り橋だとすると、恐ろしさのあまり身がすくんでしまうだろう。しかしきききのつり橋は、右の方にカーブしながらゆっくりと古代へと誘導してくれる木製の通路で、時代をさかのぼっていく楽しさを与えてくれる。我々は暖かい木のぬくもりを感じながら、そして下には深い谷を見ながら、縄文時代へと時計を逆戻しした。
f:id:bitterharvest:20191129143825j:plain

つり橋を抜けると、晩秋真っ只中の、縄文時代の見事な紅葉が我々を出迎えてくれた。
f:id:bitterharvest:20191129143902j:plain
東ムラの集落へと入っていった。掘立柱建物の左側に小高い山と間違えてしまうような建物がある。
f:id:bitterharvest:20191129143928j:plain
近づいてみると、なんと竪穴住居だ。案内してくれた学芸員さんの話によると、竪穴住居を発掘しているときに、土の屋根だったことが判明したそうである。竪穴の床面に、柱を立て、柱と柱を梁でつないで家の構造を作り、屋根の構造となる木を縦方向と横方向に組み、土で覆って造ったとのことだった。日本の家屋もかつては土壁だったので、これと同じ原理なのだろう。夏涼しく冬暖かいということだったが、屋根にぺんぺん草などが生えてきたとき、手入れはどうするのだろうかと他人事ながら心配になった。
f:id:bitterharvest:20191129143957j:plain
掘立柱建物にも近づいてみた。
f:id:bitterharvest:20191129144030j:plain
東ムラより中央ムラへと向かった。途中の広葉樹がきれいに色づいていた。
f:id:bitterharvest:20191129144113j:plain
中央ムラの集落にたどり着いた。隣ムラはさほど離れていない。住居のつくりもさほど変化はないが、小さな小屋は粗末な作りだった。
f:id:bitterharvest:20191129144138j:plain
中央ムラには配石遺構がある。その周りには祭祀に使われたのだろうか、掘立柱建物があった。
f:id:bitterharvest:20191129144205j:plain
配列遺構は、二つの大きな環(ストーンサークル)になっていると説明があったが、判然としなかった。環を構成している石の塊がそれぞれ離れすぎているためだろう。石の塊の一つだ。
f:id:bitterharvest:20191129144238j:plain
中には一つの大きな平たい石で構成されているものもあった。
f:id:bitterharvest:20191129145429j:plain
ここでの配列遺構の考え方は進化を遂げて、次の時代になると、前の記事で説明した大湯ストーンサークルのような大規模なものへと変化していく。

さらに奥の方には西ムラが見えたが、ここで引き返した。
f:id:bitterharvest:20191129144517j:plain
紅葉が見事だった。
f:id:bitterharvest:20191129144544j:plain

御所野縄文博物館内に入って御所野遺跡から出土した土器などを見学した。この時期、東北地方での土器型式は、北部は直線的な円筒式で、南部は丸みを帯びた大木式だが、御所野遺跡では両方の形式が発掘されている。丁度二つの文化の接点だったのだろう。

まずは深鉢型土器だ。
すっとした感じの円筒式土器が3点、
f:id:bitterharvest:20191129144641j:plain
f:id:bitterharvest:20191129144708j:plain
f:id:bitterharvest:20191129144815j:plain
丸みを帯びて、模様も曲線が多い大木式土器が2点、
f:id:bitterharvest:20191129144610j:plain
f:id:bitterharvest:20191129144751j:plain
そして大木式の浅鉢型土器。
f:id:bitterharvest:20191129144929j:plain

さらに棚にはたくさんの土器が並んでいた。円筒式と大木式が混じりあっているので、区別できるようになったか、試してみるのがよさそうだ。
f:id:bitterharvest:20191129144840j:plain
石鏃。これだけ集まると壮観で、すごみもある。
f:id:bitterharvest:20191129144908j:plain

ここからは一戸町内の別の遺跡から出土したもので、いずれも晩期に属し、「縄文の美」ともいえる亀ヶ岡式土器である。

蒔前遺跡出土の土器類である。
繊細な模様が素晴らしい鉢型土器、
f:id:bitterharvest:20191129145023j:plain
黄金色の光を放つ皿型土器、
f:id:bitterharvest:20191129160147j:plain
洗練された感じの壺型土器、
f:id:bitterharvest:20191129144959j:plain
完成された美の壺型土器、
f:id:bitterharvest:20191129145133j:plain
お気に入りの注口土器、
f:id:bitterharvest:20191129145157j:plain
いたずら心が働いたのだろう、鼻曲がり土面、
f:id:bitterharvest:20191129145219j:plain

次は山井遺跡出土の土器類である。
伝統を感じさせる模様の浅鉢型土器、
f:id:bitterharvest:20191129145047j:plain
割れていなければ、模様の美しさをもっと感じさせてくれる浅鉢型土器、
f:id:bitterharvest:20191129145109j:plain
ちょっと凝りすぎたかなと思える注口土器、
f:id:bitterharvest:20191130084320j:plain

最後を飾るのは、バスガイドさんが是非見るようにと勧めてくれた椛の木遺跡出土の「縄文ぼいん」。ピカソもびっくりだろう。
f:id:bitterharvest:20191129145242j:plain

かくして東北北部縄文の旅は終了だ。最後に御所野遺跡訪問にしたのは、素晴らしい組合せだと感じた。東北北部の縄文の特徴は、中期の大集落、後期のストーンサークル、晩期の「縄文の美」を伝える亀ヶ岡式土器だが、御所野遺跡ではこれらをまとめてみることで、得られた知識を整理することができた。

ところで東北北部は、かつては太平洋側は南部藩日本海側は津軽藩だった。この二つの藩が仲が悪かったことは有名な話だが、バスガイドさんの話では今でもわだかまりがあるとのことだった。縄文時代には、北部の円筒式土器と大木式土器がお互いに影響しあって、最後は素晴らしい亀ヶ岡式土器を生み出したように、協力しあったほうが良いものが生み出されると訪問者の私は考えるが、利害が絡む当事者たちの間では、なかなかそうはいかないようだ。現実は厳しいと憂鬱な気分になりもしたが、そうこうしているうちに、帰路につくための盛岡駅に着き、バスガイドさんにお別れを言って、車中の人となった。

東北北部縄文の旅:大湯ストーンサークル

東北北部縄文の旅も3日目、いよいよ最終日だ。最後の日ぐらいは顔を見せないとまずいと思ったのだろうか、岩木山がその雄姿を見せてくれた。
f:id:bitterharvest:20191127105035j:plain
大鰐スキー場の方はもう少しの辛抱だ。たくさんのスキー客をリフトで釣り上げるための準備も整っていた。
f:id:bitterharvest:20191127105108j:plain
この日は縄文時代後期前半の大湯ストーンサークル(秋田県鹿角市)と、中期後半の御所野遺跡(岩手県一戸町)を見学した。
f:id:bitterharvest:20191127104939p:plain

昨日見学した三内丸山遺跡は、大集落を形成し、最盛期には500人もの人々が住んでいたと考えられている。そしてこれから訪れる御所野遺跡も似ている。これらの遺跡は中期のもので、条件が整えば大きな集落で生活していたようだ。しかし4,200年前になると気温は2℃も低下し、人々は大集落を放棄した。これは大集落を支えていたクリなどの生産性が低下したためだろう。そして分散して小集落に住むようになった。しかし大集落を営んでいたころの部族の絆を維持するために、共同の墓地を造ったと考えられている。大湯ストーンサークルはその顕在化だろう。

大湯ストーンサークルは、空から見たほうが分かりやすい。次の航空写真に、二つの丸い円があるが、これが大湯ストーンサークルだ。左側が万座環状列石、右側が野中堂環状列石だ。それぞれ2重の環になっていて、最大径は52mと44mである。万座環状列石の周りには、建物が建っているのも分かる。写真にはないが、上部の方に大湯ストーンサークル館がある。
f:id:bitterharvest:20191127104957p:plain

では見学を始めよう。はじめに大湯ストーンサークル館に入り、ここの遺跡から出土した土器などを見学した。棚にはたくさんの土器が陳列されていて、左側は深鉢型土器で、右側は壺型土器である。
f:id:bitterharvest:20191127105135j:plain
中央の展示には特徴がある。水をさす時に使ったのだろうか、右側の土器は有孔土器である。
f:id:bitterharvest:20191127105204j:plain
形状に特徴がある深鉢型土器。上部が尖がっていて、おしゃれだ。果物入れにして食卓に置くのによさそうだ。f:id:bitterharvest:20191127105227j:plain
次は切断土器。上部は蓋として用いたのだろう。
f:id:bitterharvest:20191127105252j:plain
棚から特徴的な土器をピックアップしよう。模様がユニークな壺型土器だ。
f:id:bitterharvest:20191127105323j:plain
またまた模様の美しい土器。
f:id:bitterharvest:20191127105349j:plain
外の国から来たのかと思うほど、デザインがあか抜けている壺型土器。
f:id:bitterharvest:20191127105412j:plain
多様な用途に向けて、土器の種類が増えたのであろう。注口土器。
f:id:bitterharvest:20191127105435j:plain
中央の展示に戻って、数を表していると言われている土版。
f:id:bitterharvest:20191127105502j:plain
その他にも土製品があった。
f:id:bitterharvest:20191127105525j:plain
これも土製品だ。土偶の一種のようにも思えるが、いまいち用途が分からない。
f:id:bitterharvest:20191127105548j:plain
あの世で生活できるように、道具を用意したのだろうか。ミニチュア土器もあった。
f:id:bitterharvest:20191127105611j:plain
同じ用途なのだろうか。鐸型土製品である。
f:id:bitterharvest:20191127105635j:plain
縄文時代の道具で、石斧と弓矢。
f:id:bitterharvest:20191127105702j:plain

いよいよ野外の見学だ。縄文時代の林が再現されていた。クリ、ブナ、トチノキ、コナラ、ミズナラ、オニグルミ、ガマズミ、ウグイスカズラなどが植えられているようだ。
f:id:bitterharvest:20191127105734j:plain

万座環状列石の遠景だ。列石を囲んだ掘立柱建物がこの場所を際立たせてくれる。
f:id:bitterharvest:20191127105802j:plain
万座環状列石の内部だ。石が塊を作りながら置かれているのが分かる。環状列石は、この写真からは分かりにくいのだが、二重の環になっている。真ん中にある石が内側の環を構成し、手前にある石が外側の環を構成している。
f:id:bitterharvest:20191127105829j:plain
別の角度から見ると、
f:id:bitterharvest:20191127105902j:plain
外側の環をよく見ると、いくつかにグループ化され、それぞれのグループは小さな石の環を形成していることが分かる。
f:id:bitterharvest:20191127110111j:plain

万座環状列石から外れて、奥の方に目を凝らすと5本柱建物が見える。写真ではわかりにくいが、中央左に棒が建っているように見えるのがそれである。用途は分かっていないようだ。
f:id:bitterharvest:20191127105930j:plain
掘立柱建物に近づいてみる。
f:id:bitterharvest:20191127110003j:plain
日時計だろうか。真ん中に石の柱が立っている。
f:id:bitterharvest:20191127110035j:plain

次は、野中堂環状列石だ。遠景は
f:id:bitterharvest:20191128110228j:plain
万座環状列石と比較すると石の数が少ない。近づいてみると、二重の環になっていることがはっきりと分かる。また、環と環との間に日時計があることも分かる。
f:id:bitterharvest:20191127110143j:plain
さらに大写しにしてみよう。
f:id:bitterharvest:20191128111610j:plain

大湯ストーンサークルは、地上から見るよりも、高台からあるいは空から見たほうが、全容がはっきりしてよさそうだ。館内に上空からの動画を見せてくれる設備があればと思った。
さて、次は今回の最終訪問地である御所野遺跡だ。