bitterharvest’s diary

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

プロのレシピでラザーニャ・エミーリア風に挑戦するーボローニャ風ミートソース作り

ミートソースはこの料理のかなめだ。そのため使う食材の種類も半端ではない。ひき肉を中心に香味野菜、ハーブ、香辛料などがオンパレードだ。
f:id:bitterharvest:20200610130350j:plain
最初に野菜を炒める。材料は玉ねぎ(1個)、にんじん(1本)、セロリ(1本、頂いたレシピは2本の指定だが、購入のときそこまで注意がいかなかったので今回はこれで我慢)、ニンニク(1片、今見ると手順書の方は1/2になっている)、バジリコ(3枚)、干シイタケ(1個、水100mlで戻したもの。浸した水はいらない)。
f:id:bitterharvest:20200610130416j:plain
これをフードプロセッサでみじん切りにした。
f:id:bitterharvest:20200610130440j:plain
大き目のフライパンにオリーブオイルを熱し、みじん切りにした野菜を加え、軽く塩をまぶし、じっくりと炒めた。塩は野菜の水分をとるためだそうだ。手順書には香味野菜から汗をかかせる気持ちで、蒸気を飛ばしながら炒めあげると書かれている。素晴らしく分かりやすい表現に感謝。
f:id:bitterharvest:20200610130504j:plain
f:id:bitterharvest:20200610130535j:plain
バットに取り出すとなっていたが、ないので皿にした。
f:id:bitterharvest:20200610130602j:plain
次はひき肉である。手順書には仔牛または牛の赤身のひき肉(300g)、豚赤身ひき肉(100g)、鶏レバー(30g)とある。しかし私が住んでいる街には、あいにく肉屋さんは存在しない。駅の前にスーパーが一軒だけという完全な住宅街である。隣町の横浜市大和市へ行けば大きなスーパーがありこれらの食材を得ることも可能なのだが、これらの店は買い物客が多く、テレビのニュースは人込みを避けるようにとも伝えているので、今回は近場で間に合わせることにした、牛のひき肉は300gに少し足りず、豚のひき肉は100gを越えているが、合わせて400gなのでこれで我慢とした。また鶏レバーはなくてもよいということなのでこれは省略した。
f:id:bitterharvest:20200610130636j:plain
野菜を取り出したままのフライパンに、オリーブオイルを熱し、ひき肉を加えた。焼き方は表面を焼き上げるという感じだそうだ。
f:id:bitterharvest:20200610151043j:plain
このまま静かに置いて表面が焼きあがるのを待って、ひっくり返した。ひき肉なので肉が分離し、きれいにひっくり返すことはできない。プロはどうしているのだろうと思ったりもした。ひっくり返した部分の表面に焼き色がついたと思われるころに、ヘラで崩しながら、表面がカリッとするまで、香ばしく焼き上げた。
f:id:bitterharvest:20200610130708j:plain
次の作業は、「香味野菜をフライパンに戻して」となっていたのだが、読み間違えて、新しいフライパンを使ってしまった。
味付けのために用意したのはこれ。炒めた香味野菜と薄力粉(大匙1)、タイム(1枝に相当する程度)、ローリエ(1枚)、ナツメグ(少々)である。
f:id:bitterharvest:20200610130739j:plain
香味野菜をフライパンに戻し、薄力粉をふるい入れ、薄力粉を焼き上げるイメージでしっかりと炒めた。
f:id:bitterharvest:20200610130801j:plain
さらにタイム、ローリエナツメグを加えて、さっと炒めあげた。
f:id:bitterharvest:20200610130824j:plain
次はトマト味をつける。赤ワイン(200ml)、トマトペースト(30g)、トマトホール(400g)を用いる。トマトホールに対して、ヘタと種を取り粗く刻んでおくという注意書きがあった。作業中もこのことは覚えていたのだが、いざとなった時、この部分が見つからず、記憶違いかと悩みながらトマトホールはそのまま加えてしまった。調理中にヘラで切っていけば大丈夫という妻の大胆な発言に救われて作業を続けた。
フライパンにワインを加え、アルコール分を飛ばした。
f:id:bitterharvest:20200610130854j:plain
トマトペーストを加えてしっかりと炒めたあと、トマトホールを加えた。
f:id:bitterharvest:20200610130920j:plain
このとき、肉は何処で入れるのだろうと不安になり、手順書を何度も読み直したり、YouTubeで調べたりして、野菜をフライパンに戻す時だったのではとか、あるいは赤ワインを入れる前だったのではとか思い悩んだが、とにかく、一緒にしようということで、ここで炒めてあったひき肉を加えた。あとになって手順書を読み間違えたことに気がついたのだが、一度思い込んでしまうとなかなか気がつかないものと改めて認識させられた。
f:id:bitterharvest:20200610130945j:plain
ひき肉を混ぜるのが少し遅くなったが、まあ大丈夫だろうと楽観的に考え、赤みが取れてオレンジ色になるまで弱火でじっくりと煮込めという指示に従って作業を再開した。この様子を見ていた妻が、うちの電磁調理器では、いったん中火ぐらいにしてぐつぐつしてから弱火にした方がよいと忠告してくれた。そうかなと思いながらも従った。手順書には、「煮込み料理に液体を入れていくときは、酸味が強いものから酸味の少ない方へ順番に加え、トマトは必ず弱火で」と書かれている。強火で煮込むとトマトの強い酸が出てしまうそうで、妻の忠告が間違いではない範囲の内に収まっていることを願いながら作業を続けた。次の作業に移る前に、このときのトロみを覚えておくようにと手順書には書かれていた。そこでの目標は、このトロみになるまで煮込むことであった。
f:id:bitterharvest:20200610131014j:plain
いよいよ最後の作業だ。フライパンに鶏のだし汁(チキンコンソメ2個と水500mlで作成)を加えて、先ほど覚えたトロみになるまで、塩と胡椒で味を調えながら、じっくり煮込んだ。
f:id:bitterharvest:20200610131036j:plain

前の記事で述べた「説明書を読まない人」には、説明書を読むのが苦手ということが含意されている。今回はこの特性をいかんなく発揮して、見落としや読み違いによるくるいを伴っての調理となったが、味は素晴らしく良かった。少しぐらいの手順の違いを吸収してくれたプロのレシピに感謝して次の工程に進むことにした。

プロのレシピでラザーニャ・エミーリア風に挑戦するー生地作り

昨年暮れ、飯田橋にあるイタリアンレストランで、かつての職場の同僚と、ラザーニャを食した。とても美味しかったのでそのことを告げたところ、ありがたいことに、後日そのレシピを頂くことができた。折角なのですぐに試してみたかったのだが、運の悪いことにコロナウイルスでなるべく外出をしないようにとの自粛が始まり、その影響で家でケーキなどを作る人が増えたのであろう、強力粉や薄力粉が入手できない時期が長く続き、その機会はなかなか訪れなかった。やっと緊急事態宣言が解除され、近くのスーパーの棚にも必要な食材が並ぶようになったので、満を持して挑戦することにした。

挑んだのはプロの手になるレシピ。手順書は3.5ページ、調理にかかる日数も4日だ。うまく作れるか心配だ。常日頃、妻からは説明書を読まない人と言われていて、指示通りに作業することが嫌いあるいはできないタイプであると自身も自覚しているので、これほどの長い指示書に沿って、間違いなくやり通せるかについては自信がない。失敗は次の成功をもたらすだろうと楽観的に考えて、先週の金曜日より、ラザーニャ作りに励んだ。

ラザーニャ(lasagna)は、元々は料理の名前ではなく、平たい板状のパスタのことを言うそうだ(料理の場合には、オーブンで焼き上げたラザニアということで、ラザーニャ・アル・フォルノ(lasagna al forno)とも呼ばれるそうだ)。このため生地を作らないとラザーニャを作ったことにはならない。先だってレモンビスケットの生地を作ったが、今回の難しさはこの比ではない。バリラ社の乾麺を使ってもよいと教わったが、ここは王道を行くことにした。

1日目:生地作り

材料はいたって単純。強力粉(210g)、薄力粉(140g)、玉子(3個)、塩(小匙1/3)、オリーブオイル(大匙1と1/2)だけである。
f:id:bitterharvest:20200609162914j:plain
それでは始めよう。薄力粉、強力粉、塩を用意。
f:id:bitterharvest:20200609162936j:plain
それらを混ぜ合わせる。
f:id:bitterharvest:20200609162956j:plain
ふるいで混ぜ合わせ、ボールに入れる。
f:id:bitterharvest:20200609163019j:plain
真ん中を窪ませ、玉子とオリーブオイルが入る空間を作る。
f:id:bitterharvest:20200609163045j:plain
玉子はかき混ぜる。
f:id:bitterharvest:20200609163111j:plain
さらにオリーブオイルを加える。
f:id:bitterharvest:20200609163134j:plain:w200
これを粉の真ん中に入れる。
f:id:bitterharvest:20200609163228j:plain
周りの土手を崩すようにしながら、水分と粉を馴染ませていく。
f:id:bitterharvest:20200609163400j:plain
f:id:bitterharvest:20200609163421j:plain
水分が全体に回ったところで、生地をひねるようにしてまとめる。
f:id:bitterharvest:20200609163443j:plain
f:id:bitterharvest:20200609163507j:plain
ラップに包んで一晩室内で寝かせる。
f:id:bitterharvest:20200609163249j:plain

2日目:生地伸ばし

午前中の作業をするために、一晩寝かせた生地を取り出す。表面を見ると、水分が多くなり、みずみずしくなったように感じられた。
f:id:bitterharvest:20200609163529j:plain
綿棒でひたすら伸ばす。目標は厚さ0.7ミリ。
f:id:bitterharvest:20200609163557j:plain
さらにさらに伸ばしていく。
f:id:bitterharvest:20200609163621j:plain
長くなりすぎてしまったので、3つに分割(頂いた作業書には分割してよいとは書いてない。正しい方向に進んでいるのかが心配)
さらに伸ばす。
f:id:bitterharvest:20200609163646j:plain
伸びなくなってきたので、ラップに包み、丸い棒に巻いて室内で、夕方まで寝かせる(これによりグルテンの力が弱まるそうだ。グルテンは、穀物の胚乳から生成されるたんぱく質のグルテニンとグリアジンが水を吸収して網目状につながったものである)。
f:id:bitterharvest:20200609163718j:plain
f:id:bitterharvest:20200609163740j:plain
夕方取り出し、再度伸ばして、目標の0.7ミリになったところで、生地の切り分け作業に入る。手順書には、グラタン皿の大きさに合わせて切ると書かれている。これまでは丸い耐熱皿を用いてラザニアを作っていたが、今回のイベントに合わせて、ラザニア皿を購入した。しかし明日届くことになっているので、正確な大きさが分からない。購入先の広告を見ておおよその寸法を得たのだが、合っているか心配である。取り敢えず型紙を作って、それに合わせて、板状のパスタを作成(次の日に茹でるという作業があるのだが、パスタが伸びることを計算に入れてなかった。実はもっと小さめで良かった)。
f:id:bitterharvest:20200609163810j:plain:w200
f:id:bitterharvest:20200609163953j:plain
さらに端切れを利用して、小さいのも作る。
f:id:bitterharvest:20200609164019j:plain
初めてにしてはうまくいったかなと自己満足し、次の作業に備えて涼しいところで一晩寝かせた。

3日目:生地を茹でる

朝になってびっくり。生地は乾いているものの、曲がったり、ひび割れたりしていて、お行儀が悪い。伸ばしたときの厚さが一様でないことが影響したのだろうか、原因は定かではない。
f:id:bitterharvest:20200609200104j:plain
少し気落ちしながらも、茹でる作業にとりかかった。一つ一つ茹でていくので、時間節約のために茹でるための鍋を二つ用意した。それぞれには、7分目ぐらいの高さまで水を入れ、小匙1杯程度のオリーブオイルと大さじ1杯程度の塩を加えた。オリーブオイルはパスタがくっつかないようにするためだそうだ。但し、沸点が高くなるので注意とのことでもあった。また茹で上がったパスタを冷やすための氷水も用意した。
f:id:bitterharvest:20200609164130j:plain
生地は一枚一枚、透明感が感じられるようになるまでゆでた。また浮き上がっても来るので、小さい生地のときはそれを目安としたが、大きい生地の場合には、中心付近では下から上がってくるお湯の流れで常に浮き上がった状態になり判断しにくかったため、生地の色の変化を観察して取り出した。
f:id:bitterharvest:20200609164159j:plain
茹で上がった生地はすぐに冷水に入れて冷やす。
f:id:bitterharvest:20200609164219j:plain
ふきんで水分をとる。
f:id:bitterharvest:20200609164242j:plain
一枚一枚ラップで包む。
f:id:bitterharvest:20200609164304j:plain
型紙と比較すると、随分と膨張していることが分かる。次の作業のときは、さみで切り取って整形して使うことにし、一晩冷蔵庫で寝かせた。
f:id:bitterharvest:20200609164330j:plain
f:id:bitterharvest:20200609164400j:plain:w200

茹でたパスタを食してみたところ、ふんわりとした感じがありとても美味しく感じられ、戦場状態の忙しさであったことも忘れ、明日の完成に向けて希望が湧いてきた。

4日目:いよいよ完成

最後の日、ラザニア皿に並べた。
f:id:bitterharvest:20200609164446j:plain

今回の反省点:➀パスタ一枚一枚の大きさはラザニア皿の大きさでなくてよい。茹でやすさなどを考慮すると、茹で上がった時にラザニア皿の半分程度になるのがよさそうである(今回使用したラザニア皿(直径26.7奥行15.3深さ4㎝に対しては、10cmx5cmのパスタにするのがよさそう)。②生地を伸ばすと、大きく広がり過ぎて作業がしにくくなるが、このときは分割してよい。ラザニア皿には、一枚のパスタでなくても、タイルのように張り詰めも構わない。並べているときは美的な差を感じないわけでもないが、このあとの調理でその差はなくなってしまうので、形はあまり気にせず、同じ厚さになるように注意を払った方が良い。③ただ厚さを一様にするのはかなり難しそうで、一工夫も二工夫も必要そうである。

ということで、さらに次に進むことにしよう。

Ubuntuに搭載の代数幾何学用ソフトMacaulay2を遠隔操作でWindowsマシンより利用する

表現可能関手の記事を書いているときに、表現可能という専門用語が代数幾何学からの由来であるらしいことを知り、代数幾何学を少しでも理解しようとして、よさそうな参考資料を探して読んでいるときに、Macaulay2と呼ばれるソフトがあることを知った。これは、代数幾何学(algebraic geometry)と可換環論(commutative algebra)での研究を支援するために開発されたそうである。

1992年からアメリカ国立科学財団(National Science Foundation)の基金を得て開発が始まったとのことなので、どこかで聞いたかもしれないのだが、興味がなかったために見過ごしたものと思われる。代数幾何学の勉強のついでに、Macaulay2について少し調べてみると、グレブナー基底(Gröbner bases)によるアルゴリズムを含んでいるということなので、少し使ってみようと思い立ち、自宅のコンピュータへのインストールを試みた。その時の経験を記しておこう。

Macaulay2はLinuxの環境でしかサポートされていないということだったので、Ubuntuをインストールしてあるが、普段は使っていないコンピュータを利用することにした。これは、元々はwindouws7が搭載されていたデスクトップコンピュータだったが、利用価値がなくなったので、Linux用にと変えたものである。調べてみると、このマシンのバージョンは19.10で、今年5月9日にリリースされた最新のバージョンに簡単にはアップグレードすることができないことが分かった。このマシンにはLatexHaskellを搭載し何かのときに利用していたので、これらが再実装になることに気後れもしたが、通常リリース(試験的なバージョンといったほうが適切)の19.10ではこれからも困ると思い、最新の長期サポートリリースのUbuntu20.04をインストールすることにした。

インストールそのものはいたって簡単。まずUbuntu Japanese TeamからUbuntu Desktop 20.04LTSをダウンロードしてインストールすればよいはずだったのだが、DVD-RWに書かれていた前のバージョンを消去して焼直したのだが、このとき表面をきれいに掃除するのをさぼったため、正しく書き込まれにくい状態になっていた。さらにさぼって焼いた後の確認作業を省き次の作業に移ったため、インストール中に予想もつかない様々なエラーが発生し、無駄な時間を費やしてしまった。再度焼き直し、インストールを開始したところスムーズに進み、タイムゾーンとユーザ情報の設定などをして使える状態になった。急がば回れの格言通りで、手抜きをしてはいけないと改めて反省した。

そしていよいよMacaulay2のインストールだ。18.04に対しての説明はあちらこちらにあるのだが、20.04についてはなかなか見つからない。リリースされてからあまり日がたっていないので、まだなのかとあきらめかけたころ、イリノイ大学の数学科のサイトにやっと適切な記事を見つけることができた。 
https://faculty.math.illinois.edu/Macaulay2/Downloads/GNU-Linux/Ubuntu/index.html
先ほどの作業ではないが、このホームページもかなり手抜きで、大学のホームページにもかかわらずその背景にある考え方が説明されていない手順書になっていて、なぜこのようなことをしているのかを理解できないまま、指示に沿って操作を進めざるを得なかったことに不満が残った。インストールした後に分かったことだが、要は公開鍵暗号方式を利用して、実行可能なバイナリのプログラムをダウンロードするということであった。このため、私の側には、公開鍵とMacaulay2のプログラム名を用意しておく必要がある。プログラム名は

deb https://faculty.math.illinois.edu/Macaulay2/Repositories/Ubuntu focal main

で、最後のほうにあるfocalは、リリース20.04のコードネームである。この名前はファイル/etc/apt/sources.list内に記憶する必要があるので、エディタのnanoを用いて行った。公開鍵の格納はいくつかの方法が紹介されていたので、今回は次を用いた。

sudo apt-key adv --keyserver hkp://keys.gnupg.net --recv-key CD9C0E09B0C780943A1AD85553F8BD99F40DCB31

Macaulay2のインストールにはSynapticと呼ばれるパッケージマネジャを用いる。Ubunuをインストールした段階では、このパッケージは含まれていなかった。今回はUbuntuソフトウェアセンターを用いて「Synaptic」で検索してインストールした。起動したSynapticの画面で、「再読込」をクリックすると、公開鍵とプログラム名を用いて、Macaulay2をロードできる状態にしてくれる。Synapticの左上にカテゴリーを示す場所があるので、数学にすると、右側にmacaulay2とmacaulay2-commonが現れるので、これにチェックを入れ、「適用」のボタンを押すとインストールされる。インストールされていれば下図のようになる。
f:id:bitterharvest:20200607144208p:plain

これでOKなので、M2と入力すれば使うことができる。

しかし直接では記録も残らないので、emacsから使えるようにした。このため、ホームディレクトリの直下に.emacsファイルを作成し、下記を書き込んだ(プログラムの実行は、emacsと打ち込み、emacsの画面が出てきたらF12のキーを押す)。

;; .emacs file in your home directory
 (load "M2-init")
 ; comment out the following line with an initial semicolon 
 ; if you want to use your f12 key for something else
 ; or change f12 to (for example) f8
 (global-set-key [ f12 ] 'M2)

このようにして準備したマシンだが、残念なことに使い勝手が悪いところに置かれている。そこで通常使っているWindows10のマシンから遠隔操作で利用できるように試みた。やはり18.04に対してはたくさんの説明があるのにもかかわらず、20.04に関してはかなり少ない。18.04ではUbuntu側は画面共有を用いて遠隔操作を実現していたが、同じように20.04で設定してもうまくつながらない。そうこうしているうちに、20.04では繋がらないという記事を見かけたので、別の方法をとることにした。いろいろと試行錯誤の末、VNCを用いることにした。Windows側にはUltraVNCを用いることにし、クライアントとしての利用だけなので、いくつかあるユーティリティの中から、UltraVNC Viewerのみをインストールした。

Ubuntu側にはつぎのようにしてVNCサーバーをインストールした。

sudo apt -y install tigervnc-standalone-server

パスワードの設定も

vncpasswd

VNCに必要なファイルを作成するために、一度起動する。

vncserver :1

そして停止する。

vncserver -kill :1

作成されたファイルに必要な事項を追加する。ここではデスクトップとしてMateを使用することにしたので、/.vnc/xstartupに次の事項を書き込んだ。なおUbuntuをインストールした段階ではMateは用意されていなかったので、ubuntu-mate-disktopをインストールした。

unset DBUS_SESSION_BUS_ADDRESS
exec /usr/bin/mate-session &

これでUbuntu側の準備は完了なので、VNCを起動する。

vncserver :1 -geometry 1280x1024 -localhost no

なお、サーバ側(Ubuntu)のIPアドレスはifconfigで調べられる。

クライアント側ではUltraVNC Viewrを起動する。IPアドレスが要求されるので、アドレスを入れた後にコーロン(:)をつけ、そのあとに1をつけて「connect」ボタンを押す。
f:id:bitterharvest:20200607153811p:plain:w400


パスワードが求められるので、Ubuntu側でのサーバーの設定の時に、vncpasswdで指定したものを入れる。Windows側にUbuntuの画面が現れる(中央右がUbuntuのデスクトップ)。
f:id:bitterharvest:20200608061131p:plain
なお、VNCの安全性を強化するためにSSH(secure shell)接続を行う必要があるが、これはMark Drakeさんのブログ"How to Install and Configure VNC on Ubuntu 20.04"を参照して欲しい。

Windows10からUbuntu20.04に実装されているMacaulay2を利用したのが下記の画面である。多項式\(x^3-y^2\)を代入し、そのイデアルと根基イデアル(グレブナー基底計算を利用)を求めた。この例は、横田博史さんのMacaulay2の紹介(平成22年1月27日)にあるので、詳細はこれを参考にして欲しい。
f:id:bitterharvest:20200607155849p:plain

インストール後の感想である。久しぶりのUbuntuの利用のためインストールに手間取ったものの、使い勝手が良さそうなので、しばらくこれを利用してMacaulay2を楽しもうと思っている。

レモンビスケット

馴染みの店のfacebookでレモンビスケットを見つけた。お店の人がイタリアでの修業時代のレシピを紹介してくれたものだ。巣ごもりが続く中、気晴らしにと挑戦することにした。

簡単そうに見えたのだが、やっと3回目に家族に出しても大丈夫だろうと思われるものが出来上がった。1回目は生地がべとついてしまったので、こねすぎたと考えて途中で断念した。2回目は、同じようにべとべとしていたので、このようなものかと思い、冷蔵庫で1時間ぐらい寝かせてから焼いてみた。味は良かったが、ビスケットのかたちが整わなかったので、勧められるようなものではなかった。そして今回が3回目の挑戦だ。生地を切り分けるときに等量になるように工夫したのだが、予想したようにはうまくいかず、大小の差が生じてしまったが、それでもビスケットらしくなった。

1回目の失敗にはもう一つの理由がある。多くの人が自粛生活を始めるようになった影響で、ケーキを作るのに必要な薄力粉、強力粉、ベーキングパウダーなどが、店頭から消えた。このときもベーキングパウダーがお店になく、使用期限が1年前のものを仕方なく使用したのだが、焼いてみても満足いくようにはうまく膨らまなかった。

それでは作り方を紹介しよう。今回の材料はとてもシンプル。
f:id:bitterharvest:20200603103957j:plain

1)レモン1個の皮をすりおろし、半個のしぼり汁を得る。
f:id:bitterharvest:20200603104025j:plain
2)これに加えてグラニュー糖(50g)、キャノーラ油(50g)を用意。
f:id:bitterharvest:20200603104055j:plain
3)これらをボールに移してよくかき混ぜる。
f:id:bitterharvest:20200603104122j:plain
4)卵(1個)を溶いて、その半分をボールに加え、さらに良くかき混ぜる。トロっとした状態になった。
f:id:bitterharvest:20200603104148j:plain
5)薄力粉(150g)、ベーキングパウダー(小匙1杯)をボールに移し、かき混ぜる。
f:id:bitterharvest:20200603104213j:plain
6)これをふるいに移し、先ほどのレモンのしぼり汁などのボールに、ふるい入れる。
f:id:bitterharvest:20200603104237j:plain:h400
7)3回に分けてふるい入れ、その都度、液と混ぜた。
f:id:bitterharvest:20200603104309j:plain:h400
8)切るようにして生地をこねる。表面がつるっとし、手にべとべとつかなくなるくらいまでこねた。
f:id:bitterharvest:20200603104343j:plain
9)この状態で切り分けようとするとヘラにくっついてくるので、冷蔵庫に1時間ほど寝かせ、生地が落ち着くのを待つ。

10)生地を4等分し、さらにそれらを9等分して。それぞれを丸くし、粉糖の中に入れる。
f:id:bitterharvest:20200603104410j:plain
11)真ん中をへこませ、形を整えて、オーブン皿に隙間を作って並べる。
f:id:bitterharvest:20200603104442j:plain
12)オーブンを180℃にして20分間焼く。
f:id:bitterharvest:20200603104511j:plain
13)冷ますために網の上にのせる。
f:id:bitterharvest:20200603104537j:plain

生地の切り分けに当たっては、同じ大きさになるように工夫を凝らしたが、やはり大きさでの差が生じてしまった。次回は一つ一つの重さが9g程度になるように測り、均等な大きさになるようにしたいと思っている。ビスケットそのものは、レモンの香りとさわやかな味がマッチしてとても美味しく、一つ食べると止まらなくなるほどである。

最後はおまけである。定番の川に沿っての散歩は、雰囲気が良いので楽しむ人が多く、コロナウイルスのこの時期は避けたほうが良さそうなので、東工大すずかけ台キャンパスの周囲を歩いているが、そのときに可愛らしいお地蔵さま(寛政:19世紀が始まるころ)と道祖神(昭和25年)を見つけた。この辺りの歴史については詳しくないが、そのうちに調べてみようと思っている。
f:id:bitterharvest:20200603111143j:plain
f:id:bitterharvest:20200603111208j:plain

圏論:ストリング・ダイアグラム ー 米田の補題

4.米田の補題

いよいよ米田の補題の証明である。これは次のようになっている。

局所的に小さい圏\(\mathcal{C}\)(任意の2対象\(A,B\)に対して\({\rm Hom(A,B)}\)の類が集合となっているような圏)について、共変\({\rm Hom}\)関手\(h^A:\mathcal{C} \rightarrow \mathbf{Set}\)から集合値関手\(F:\mathcal{C} \rightarrow \mathbf{Set}\)への自然変換と、集合である対象\(F(A)\)の要素との間には一対一の対応が存在する。即ち、
\begin{eqnarray}
Nat (h^A,F) \cong F(A)
\end{eqnarray}
である。

あるいは、圏\(\mathcal{C}\)と圏\(\mathbf{Set}\)により作られる関手圏を\([\mathcal{C} , \mathbf{Set}]\)で表し、
\begin{eqnarray}
[\mathcal{C} , \mathbf{Set}] (h^A,F) \cong F(A)
\end{eqnarray}
が成り立つというのが米田の補題である。

4.1 証明の準備

それでは証明のための準備をしよう。米田の補題を証明するために図1を用いる。

f:id:bitterharvest:20200602083141p:plain
図1:米田の補題を証明するための説明図
まず、米田の補題に関して射\(φ_{FA}\)を次のように用意する。
\begin{eqnarray}
φ_{F,A}:Nat (h^A,F) \cong F(A)
\end{eqnarray}

射\(φ_{FA}\)を自然変換\(\partial \in Nat(h^A,F) \)に対して、
\begin{eqnarray}
φ_{F,A}\partial=\partial_A I_A
\end{eqnarray}
と定める。
さらに、\(F(A)\)から出発して\(F(X)\)に至る経路は\(h^A(A)\)から\(h^A(X)\)を経由する場合と、直接至る場合とがあり、これらが可換である。そこで、
\begin{eqnarray}
ψ: F(A) \rightarrow Nat (h^A,F)
\end{eqnarray}
を任意の\(u \in F(A) \)に対して、
\begin{eqnarray}
ψ(u)_X (f) &=& F(f)(u) \\
f & : & A \rightarrow X
\end{eqnarray}
と定める。このとき、\(ψ(u)_X= \partial_X \)である。

米田の補題を証明するためには、次の3項目を証明すればよい。
1)\(ψ(u)\)が自然変換である。
2)\(ψ=φ_{F,A}^{-1}\)である。
3)\(F,A\)に対して自然である。

4.2 米田の補題をストリング・ダイアグラムに

米田の補題をストリング・ダイアグラムで表すことにしよう。図2に示すように、例によって圏\(1\)を設け、圏\(\mathcal{C}\)の対象\(A,X\)を、圏\(1\)から\(\mathcal{C}\)への関手として表すことにする。なお図2下はpasting diagramである。

f:id:bitterharvest:20200602083807p:plain
図2:説明図をストリング・ダイアグラムに変えるための準備

準備のところで得た二つの式は図3のストリング・ダイアグラムになる。
f:id:bitterharvest:20200603063235p:plain:w500
図3:\(φ_{F,A}\partial_A I_A\)と\(ψ(u)_X= \partial_X \)をストリング・ダイアグラムで表す。

4.3 米田の補題の証明

それでは順を追って証明していこう。最初の項目から始めよう。
1)\(ψ(u)\)が自然変換である。
\(ψ(u)_X=\partial_X\)であることから、\(\partial: h^A \rightarrow F\)が自然変換であることを言えばよい。即ち、任意の\(X,Y\)に対して、図4が可換になることを示せばよいので、\(h^A(X)\)から出発して\(F(Y)\)に到達する経路において、\(F(X)\)を経由する場合と\(h^A(Y)\)を経由する場合は同値であることを示せばよい。

f:id:bitterharvest:20200602084450p:plain:w350
図4:\(ψ(u)\)が自然変換となるためには、ここでの図式が可換になること。

すなわち、
\begin{eqnarray}
\partial_X & : & h^A (X) \rightarrow F(X) \\
F (g) \partial_X &=& \partial_Y h^A (g)
\end{eqnarray}
が成り立つことを示せばよい。

それではストリング・ダイアグラムを用いて証明してみよう。図5のようになる。これは、\(f:A \rightarrow g\)を利用して、\( F (g) \partial_X f = \partial_Y h^A (g (f ))
\)となることを示している。

f:id:bitterharvest:20200602084909p:plain
図5:\(ψ(u)\)が自然変換であることをストリング・ダイアグラムを用いて証明する。

細部を確認してみよう。図で(1)から(2)は、\(\partial_X\)を\( ψ(u)_X \)で置き換え、さらに\(f \in h^A(X)\)であることを利用。(2)から(3)は、\(ψ(u)_X (f) = F(f)(u)\)を利用。(4)から(5)は、\(ψ(u)_Y (gf) = F(gf)(u), g : X \rightarrow Y\)を利用した。

2)\(ψ=φ_{F,A}^{-1}\)である
証明を図6に示す。(3)から(4)へは、\(ψ(u)_A (I_A) = F(I_A) (u)\)を利用した。

f:id:bitterharvest:20200602085207p:plain
図6:\(ψ=φ_{F,A}^{-1}\)であることをストリング・ダイアグラムを用いて証明する。

3)\(F,A\)に対して自然である。

二つに分け、まず\(A\)に対して自然であることについて考える。

証明に先立って、関手\(h^A\)の性質を復習しておこう。この関手が\(A\)に対して自然であるとき、図7の可換図式を得ることができる。\(f:A \rightarrow B\)のとき、\(h^f : h^B \rightarrow h^A\)と矢印が逆向きになることに注意しておこう。

f:id:bitterharvest:20200602085327p:plain
図7:関手\(h^A\)の性質

それでは証明に移る。図8において、真ん中の図が可換図式になればよいので、\(F(f)(φ_{F,A})=φ_{F,X}(N(f))\)が成り立つことを示せばよい。従って、この図の左右にある二つのストリング・ダイアグラムが同値であることを示せばよい。

f:id:bitterharvest:20200602085453p:plain
図8:\(A\)に対して自然であるときは上の図式は可換図式となる。
ストリング・ダイアグラムを用いての変形を図9に示す。
f:id:bitterharvest:20200602085616p:plain
図9:\(A\)に対して自然であることをストリング・ダイアグラムを用いて証明する。
それでは、細部を見ていこう。(1)から(2)は\(F(f)\)と\(φ_{F,A} \partial\)を切り離し、その間で、\(FA\)が受け渡しされるので、それを明示。(2)から(3)は\(φ_{F,A} \partial =\partial_A I_A\)を利用。(3)から(4)は\(f \in h^A (X) \)を利用。(4)から(5)は\(h^f = h^X \rightarrow h^A\)と\(I_X=h^X(X)\)を利用。 (5)から(6)は\(N(f) \partial = \partial h^f\)(図10参考) *1を利用。(6)から(7)は\( φ_{F,X} \partial^{\prime} = \partial_X^{\prime} I_X, \partial_X^{\prime} =N(f) \partial \)より導かれる。
f:id:bitterharvest:20200602085745p:plain:w300
図10:\(N(f) \partial_Y= \partial_Y^{\prime}\)を証明するための参考図

それでは、最後に\(F\)に対して自然であるについて考える。

先ほどと同様に、図11において、真ん中の図が可換図式になればよいので、\(μ_A (φ_{F,A} ) = φ_{G,A} (M(μ))\)が成り立つことを示せばよい。従って、この図の左右にある二つのストリング・ダイアグラムが同値であることを示せばよい。

f:id:bitterharvest:20200602092558p:plain
図11:\(F\)に対して自然であるときは上の図式は可換図式となる。

ストリング・ダイアグラムを用いての変形を図12に示す。

f:id:bitterharvest:20200602100124p:plain
図12:\(F\)に対して自然であることをストリング・ダイアグラムを用いて証明する。

それでは、細部を見ていこう。(1)から(2)は\(μ_A\)と\(φ_{F,A} \partial\)を切り離し、その間で、\(FA\)が受け渡しされるので、それを明示。(2)から(3)は\(φ_{F,A} \partial =\partial_A I_A\)を利用。(3)から(4)は\(M(μ) \partial_Y =μ_Y\partial_Y\)(図13参考) を利用。(4)から(5)は\( φ_{G,A} M(μ) \partial = M(μ) \partial_A I_A \)を利用。

f:id:bitterharvest:20200602100137p:plain:w200
図13:\(M(μ) \partial_Y =μ_Y\partial_Y\)を証明するための参考図

これで、米田の補題を証明することができた。式を展開しての証明よりは、ストリング・ダイアグラムを用いてのビジュアルな証明の方が理解しやすかったのではと期待しているのだが、読者の方はどうでしたか。

機会があれば、ストリング・ダイアグラムについて再度触れてみたいと思っている。



*1:\(\partial_Y \in Nat(h^A(Y),F(Y) ) \),\(\partial_Y^{\prime} \in Nat(h^X(Y),F(Y) ) \)としたとき、\(N(f) \partial_Y= \partial_Y^{\prime}\)である。図10に示すように、\(h^f(Y) :h^X(Y) \rightarrow h^A(Y), \partial_Y: h^A(Y) \rightarrow F(Y) \)より、\( \partial_Y^{\prime} : h^X (Y) \rightarrow F(Y) = \partial_Y h^f(Y) \)である。従って、\(N(f) \partial = \partial h^f\)となる。

圏論:ストリング・ダイアグラム ー 表現可能関手

3.表現可能関手

世の中のものにはそれぞれ名前がついているのが普通で、いちいちその由来を考えることはないが、時々なぜと頭を悩ませるものがある。表現可能関手(representable functor)もその一つだ。この関手が、何を表現可能にしてくれるのだろうと考えこんでしまう。その都度適当な解釈を見出してその場をしのいでいたのだが、どうも的確であったようには思えない。

Ulrich Goertz, Torsten Wedhornが著わした”Algebraic Geometry I”の8章では、表現可能関手を取り上げている。その冒頭で表現可能を言い換えて、幾何学的な対象(geometric object)と言っている。この本は代数幾何学について説明しているので、幾何学的な対象は、(多変数)多項式の解の集合を表した空間図形(楕円、放物線、双曲線など)だろうと推測できる。

ところで、代数幾何学の基本的な考え方はイデアル(ideal)にあると考えてよい(イデアルは環論(ring theory)とも呼ばれる)。イデアルは整数の性質を調べるために考え出された概念で、倍数や素数などのそれが明らかにされ、その考え方は、多項式の解の集合(空間図形)へと拡張された。とても大雑把に言ってしまうと、空間図形を数の集合として、逆に数の集合を空間図形として扱ってしまおうとするのが代数幾何学である。そして空間図形と数の集合を結びつける概念を表す一つの方法として、表現可能関手が導き出された。

表現可能関手の素性が分かったところで、これをストリング・ダイアグラムで表すという本題に戻ることにしよう。なお代数幾何学統計学、学習理論、深層学習などに応用され、情報科学・工学の分野ではとても役に立つ基礎理論の一つになっている。

3.1 表現可能関手の定義

それでは定義から始めよう。\(\mathcal{C}\)を局所的に小さい圏とし、\(\mathbf{Set}\)を集合の圏とする。\(\mathcal{C}\)の対象\(A \)に対して関手\({\rm Hom} (A,-) \)は、\(\mathcal{C}\)の対象\(X\)を集合\({\rm Hom} (A,X) \)に写像するものとする。

「定義」: 関手\(F:\mathcal{C} \rightarrow \mathbf{Set}\) が、\(\mathcal{C}\)のある対象\(A \)において\({\rm Hom} (A,-) \)への自然同型であるとき、\(F\)を表現可能という。また\(F\)の表現とは、\( φ:{\rm Hom}(A,-) \cong F \) を満たす対\( (A, φ) \)のことである。

「定理」: この定義から次の定理が導かれる。関手\(F\)が表現可能であるとき、ある\(a \in F(A)\)において、全ての\( x \in F(X) \)に対して、\( (Ff) a = x\)とするような射\(f\)が一意的に存在する。また、その逆も言える。

それではこの定理を、ストリング・ダイアグラムを用いて証明することを考えよう。

3.2 証明の準備

証明に入る前に少し準備をしておこう。表現可能関手に関連する圏と関手は図1のように表すことができる。

f:id:bitterharvest:20200530082535p:plain
図1:表現可能関手\(F\)とそれに関連する圏、関手、自然変換
図で、関手\(h^A={\rm Hom}_\mathcal{C}(A,-) \)から関手\(F\)への自然変換は\(α\)とした。\(F\)が表現可能であることから、各成分での自然変換に対して逆の自然変換が存在する。すなわち\(A\)と任意の\(X\)に対して、
\begin{eqnarray}
β_A \circ α_A &=& I_{h^A(A)} \\
α_A \circ β_A &=& I_{F(A)} \\
β_X \circ α_X &=& I_{h^A(X)} \\
α_X \circ β_X &=& I_{F(X)}
\end{eqnarray}
となるような\(β\)が存在する。

関手\(h^A\)の役割についても説明しておこう。

図2左に示すように、関手\(h^A={\rm Hom}_\mathcal{C}(A,-)\)は、\(\mathcal{C}\)の対象\(X\)を\(\mathbf{Set}\)の集合\({\rm Hom}_\mathcal{C}(A,X)\)に写像する。また\(\mathcal{C}\)の射\(f:X \rightarrow Y\)を\(h^A(f)\)に写像する。このとき、図2右に示すように
\begin{eqnarray}
h^A(f)= f \circ h^A: {\rm Hom}_\mathcal{C}(A,X) \rightarrow {\rm Hom}_\mathcal{C}(A,Y)
\end{eqnarray}
である。

f:id:bitterharvest:20200530103116p:plain
図2:共変関手\(h^A\)の役割
共変関手\(h^A\)を用いて表現可能関手を定義したが、反変関手\(h_A={\rm Hom}_\mathcal{C}(-,A)\)を用いても同様に表現可能関手を定義できる。このときは、関手\(F:\mathcal{C} \rightarrow \mathbf{Set}\) が\(\mathcal{C}\)のある対象\(A \)において\(h_A (={\rm Hom} (-,A) ) \)への自然同型であるとき\(F\)を表現可能という、となる。関手\(h_A\)の役割は次のようになる。

図3左に示すように、関手\(h_A={\rm Hom}_{\mathcal{C}^{op}}(-,A)\)は、\(\mathcal{C}^{op}\)の対象\(X\)を\(\mathbf{Set}\)の集合\({\rm Hom}_{\mathcal{C}^{op}}(X,A)\)に写像する。また\(\mathcal{C}^{op}\)の射\(f:Y \rightarrow X\)を\(h_A(f)\)に写像する。このとき、図3右に示すように
\begin{eqnarray}
h_A(f)= h_A \circ f : {\rm Hom}_{\mathcal{C}^{op}}(X,A) \rightarrow {\rm Hom}_{\mathcal{C}^{op}}(Y,A)
\end{eqnarray}
である。

f:id:bitterharvest:20200530103225p:plain
図3:反変関手\(h_A\)の役割

3.3 定理の証明

それでは、関手\(F\)が表現可能であるとき、ある\(a \in F(A)\)において、全ての\( x \in F(X) \)に対して、\( (Ff) a = x\)とするような射\(f\)が一意的に存在することを証明しよう。図4に示すように、例によって圏\(1\)を設け、圏\(\mathcal{C}\)の対象\(A,X\)を、圏\(1\)から\(\mathcal{C}\)への関手として表すことにする。なお図4下はpasting diagramである。

f:id:bitterharvest:20200530110207p:plain
図4:表現可能関手をストリング・ダイアグラムに表すために圏\(1\)を設け、圏\(\mathcal{C}\)の対象\(A,X\)を圏\(1\)からの関手とする

\(\mathcal{C}\)の対象\(A,X\)を関手\(F,H^A\)によって圏\( \mathbf{Set} \)に写像したとき、図5中に示す可換図が得られる。ここで\(α\)は\(h^A\)から\(F\)への、\(β\)は\(F\)から\(h^A\)への自然変換である。可換図であることから、\(F(A)\)から\(F(X)\)への変換は経路に寄らない。このため図5左の\(h^A(A),h^A(X)\)を経由するストリング・ダイアグラムと、図5右の直接たどり着くストリング・ダイアグラムとは、同値となる。

f:id:bitterharvest:20200530112214p:plain
図5:同値なストリング・ダイアグラム
図5左のストリング・ダイアグラムを変形すると図6となる。
f:id:bitterharvest:20200530112607p:plain
図6:左側のストリング・ダイアグラムを変形する。

これにより\(x = (Ff) a \)であることが示された。

そこで次に\(f\)が一意に決まることを示そう。\(f\)のほかに\(g\)があったとしよう。図5右のストリングダイアグラムの\(f\)を\(g\)に置き換えて変形すると、図7右に示すような変形が得られる。右からの変形と先に示した左からの変形は同値であることから、\(f=g\)となる。これで証明は終了である。

f:id:bitterharvest:20200530113324p:plain
図7:\(f\)が一意であることの証明

さて次はいよいよ米田の補題を示そう。

圏論:ストリング・ダイアグラム ー 異なる随伴の定義が同値であることの証明

2.2 余単位-単位随伴による定義

随伴の定義には先に説明したもののほかに、いくつかの同値な言い換えがある。その中で、よく知られているものに、余単位(counit)-単位(unit)随伴がある。これは次のように定義される。

圏\(\mathcal{C}\)と\(\mathcal{D}\)の余単位-単位随伴とは、二つの関手\(L: \mathcal{D} \rightarrow \mathcal{C}\)と\(R: \mathcal{C} \rightarrow \mathcal{D}\)、および二つの自然変換
\begin{eqnarray}
ε: LR \rightarrow I_\mathcal{C} \\
η: I_\mathcal{D} \rightarrow RL
\end{eqnarray}
があり、図12に示すような可換図式となるときである(これを三角可換図式と呼ぶ)。そして\(ε\)と\(η\)はそれぞれ余単位と単位、\(L\)は\(R\)の左随伴、\(R\)は\(L\)の右随伴と呼ばれる。

f:id:bitterharvest:20200514150046p:plain:w500
図12:余単位-単位随伴を成り立たせる可換図式

上記の可換図式を等式で表すと、
\begin{eqnarray}
I_L=εL \circ Lη \\
I_R=Rε \circ ηR
\end{eqnarray}
となる。

2.3 証明をストリング・ダイアグラムで行う

それでは、先に説明した随伴の定義から、今回の余単位-単位を用いての定義が導き出されることを、ストリング・ダイアグラムを用いて証明しよう。

\begin{eqnarray}
Φ_{A,B}:{\rm Hom}_\mathcal{C} (LB,A) \cong {\rm Hom}_\mathcal{D} (B,RA)
\end{eqnarray}
より、\(Φ_{A,B}Φ^{-1}_{A,B}g = g\)となるので、\(g \in h^BRA\)を関手\(L\)で圏\(\mathcal{C}\)に移すと、これに対応した射\(f \in h^{LB}A\)となる。さらに関手\(R\)で圏\(\mathcal{D}\)に移すと、\(g\)に戻る。これはストリング・ダイアグラムで表すと、図13となる。

f:id:bitterharvest:20200514150206p:plain:w250
図13:\(g \in h^BRA\)を一回りさせたものと、元のものとが同じであることを表したストリング・ダイアグラム

右側を変形すると、図14となる。

f:id:bitterharvest:20200514150456p:plain
図14:一回りした\(g\)のストリング・ダイアグラムを変形する。

これを見やすくすると、図15の中央の図となる。そして、これと左側の図とは等しい。

f:id:bitterharvest:20200514153118p:plain:w500
図15:一回りした\(g\)と、もとの\(g\)とがストリングダイアグラムで表す。

三角可換図式に対応する部分を抜き出すと図16となる(\(g\)より左側の部分)。この左図で下の方から上の方に移動していくと、\(R\)から、\(Rη\)に達し、そこを越えたところから\(RLR\)となり、さらに上に行くと\(εR\)となり、ついに\(R\)に至ることが分かる。そして右図は左図と同値であるので、図12の三角可換図式(右側)と同じであることが分かる。

f:id:bitterharvest:20200514150749p:plain:w300
図16:三角可換図式の一つを導き出した。

同じように、\(f \in h^{LB}A\)についても考えることができ、一回りしてきたものと、そのままとが等しいというストリング・ダイアグラムは図17となる。

f:id:bitterharvest:20200514151018p:plain:w250
図17:\(f \in h^{LB}A\)を一回りさせたものと、元のものとが同じであることを表したストリング・ダイアグラム

これの右側を変形すると、図18の中央の図となる。これとその右側の図とは等しい。

f:id:bitterharvest:20200514153135p:plain:w500
図18:一回りした\(f\)のストリング・ダイアグラムを変形する。

三角可換図式に対応する部分を抜き出すと、図19を得る。これからこの図は図12の三角可換図式(左側)と同値であることが分かる。

f:id:bitterharvest:20200514151249p:plain:w300
図19:三角可換図式の残りの一つを導き出した。

これによって、随伴の二つの定義が同値であることが証明できたが、ストリング・ダイアグラムを用いての証明は、このようにビジュアルで分かりやすい。

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

2. 随伴

ストリング・ダイアグラムでの表現にも慣れてきたので、いきなりジャンプして、圏論の真髄ともいえる随伴について考えることにしよう。

2.1 随伴の定義

ウィキペディアでは、随伴を次のように定義している(但しここでは記号は変えてある)。

圏\(\mathcal{C}\)と圏\(\mathcal{D}\)との間の随伴とは、二つの関手
\begin{eqnarray}
L: \mathcal{D} \rightarrow \mathcal{C} \\
R: \mathcal{C} \rightarrow \mathcal{D}
\end{eqnarray}
の対であって、全単射の族(集合)
\begin{eqnarray}
Φ_{A,B}:{\rm Hom}_\mathcal{C} (LB,A) \cong {\rm Hom}_\mathcal{D} (B,RA)
\end{eqnarray}
が変数\(A\),\(B\)に関して自然となるものをいう。なお\(L\)は\(R\)の左随伴、\(R\)は\(L\)の右随伴という。これは図1のように表すことができる。

別の言い方をすると、任意の射\(f \in {\rm Hom}_\mathcal{C} (LB,A) \)を取りだしたとき、これに対して\(Φ_{A,B}f=g\)となるような\(g \in {\rm Hom}_\mathcal{D} (B,RA)\)が唯一つ存在し、逆もまた真であるといえる。

f:id:bitterharvest:20200512083246p:plain
図1:随伴の定義

これからは\(f\)や\(g\)のように、射の集合の1要素を扱うことになるので、これをストリング・ダイアグラムでどのように表現できるかあらかじめ議論しておこう。

\(h^A B = {\rm Hom}(A,B) \)が集合(族)であるとする。集合が便利な点は、それが要素を有するということである。そこで射の集合\(h^A B\)からの任意の一つの射を\(fA\)と表すことにしよう。\(f^A\)と表してもよいのだが、ここでは\(fA\)とし、これは\(A\)をドメインとした射\(f\)ということにする。\(f\)のコドメインを\(B\)とすると、\(f \in h^A B\)は図2のストリング・ダイアグラメで表すことができる。丁度、集合の要素を表現したものと同じような感じである。

f:id:bitterharvest:20200512083317p:plain:w100
図2:\(\rm Hom\)集合の1要素をストリング・ダイアグラムで表す。

感覚的にあっているというだけでは、数学としての扱いができないので、この表現に矛盾がないかを調べよう。図3に示すように、一つの対象だけを有する圏\(1\)から、圏\(\mathcal{C}\)の対象\(A\)に対して関手を張る。このとき一つではなく、2つの関手\(*,A\)を張ったとし、この関手間の自然変換を\(A\)としよう。

f:id:bitterharvest:20200512083512p:plain:w400
図3:\(\rm Hom\)集合の1要素を表すために圏\(1\)を利用する。

これをストリング・ダイアグラムで表すと図4となり、図2の表現には問題がないことが分かる。これで集合の要素としての射を表すことができるようになったので、随伴に関わる性質を考えていこう。

f:id:bitterharvest:20200512083618p:plain:w100
図4:圏\(1\)を利用して\(\rm Hom\)集合の1要素をストリング・ダイアグラムで表す。

随伴に関しても、図5に示すように、圏\(1\)から、圏\(\mathcal{C}\)の対象\(A\)への関手\(A\)と、圏\(\mathcal{D}\)の対象\(B\)への関手\(B\)を設けて議論を進めることができる。

f:id:bitterharvest:20200512083720p:plain
図5:随伴の定義に対しても圏\(1\)を利用する。

任意の射\(f \in h^{LB} A \)を取りだすと、これに対して\(Φ_{A,B}f=g\)となるような\(g \in h^B RA \)が唯一つ存在するという随伴の定義は、図6に示すように、\(B\)から出発して\(A\)に到達する経路は二つあるが、これらは可換であると言い換えることができる。

f:id:bitterharvest:20200512083939p:plain:w300
図6:随伴の定義のうち、任意の射\(f \in h^{LB} A \)に対して、唯一つの\(g \in h^B RA \)が存在することに対応した可換図式

このため、任意の\(f \)に対して、唯一つの\(g \)が存在するということは、(1) \(LB\)をドメインとして\(f\)を施して得たコドメイン\(A\)と、(2) \(B\)をドメインとして\(g\)を施して得たコドメインを関手\(L\)によって\(\mathcal{C}\)の側に移した\(A\)とには、(1)と(2)とも\(B\)からスタートして同じところに至ると言い換えることができるので、ストリング・ダイアグラムで表すと図7のようになる。

f:id:bitterharvest:20200512084641p:plain:w300
図7:可換図式をストリング・ダイアグラムで表す。

それでは図7の右側を変形すると図8になる。ここで(1)はスタート。(2)は\(LgB\)を詳細にしたもの。(3)は\(ε: LR \rightarrow I_\mathcal{C}\)で置き換えたもの。(4)は(3)を見やすくしたものである。

f:id:bitterharvest:20200512101937p:plain
図8:ストリング・ダイアグラムを変形して、\(ε: LR \rightarrow I_\mathcal{C}\)を得る。

逆の場合についても考えてみよう。今度は任意の射\(g \in h^B RA \)を取りだすと、これに対して\(Φ^{-1}_{A,B}g=f\)となるような\(f \in h^{LB} A \)が唯一つ存在するという場合である。図9に示すように、\(B\)から出発して\(RA\)に到達する経路は二つあるが、これらは可換である。

f:id:bitterharvest:20200512084917p:plain:w300
図9:随伴の定義のうち、任意の射\(g \in h^B RA \)に対して、唯一つの\(f \in h^{LB} A \)が存在することに対応した可換図式

前と同じようにこの関係をストリング・ダイアグラムで示すと図10となる。

f:id:bitterharvest:20200512084959p:plain:w300
図10:可換図式をストリング・ダイアグラムで表す。

前と同じように右側を変形すると、図11を得る。ここでは(2)から(3)に移行するときに、\(η: I_\mathcal{D} \rightarrow RL \)を用いた。

f:id:bitterharvest:20200512102008p:plain
図11:ストリング・ダイアグラムを変形して、\(η: I_\mathcal{D} \rightarrow RL \)を得る。

ここで得られた\(ε,η\)を用いても随伴を同じように定義することができる。これについては次の記事にしよう。

圏論:ストリング・ダイアグラム ー \( {\rm Hom}\) 関手

1.7 \( {\rm Hom}\) 関手

圏論らしいと思わせてくれる関手の一つが\( {\rm Hom}\) 関手である。これは射を集合として扱えるようにしてくれる素晴らしい機能である。

1)\( {\rm Hom}\)集合

\( {\rm Hom}\) 関手の説明に先立って\( {\rm Hom}\)集合を説明しよう。二つの対象の間の射の集まりが集合となるとき、これを\( {\rm Hom}\)集合と言う。ドメイン側の対象を\(X\)とし、コドメイン側の対象を\(Y\)としたとき、その\( {\rm Hom}\)集合は\( {\rm Hom}(X,Y)\)と記される。

ドメイン側の対象\(A\)を固定し、ここから対象\(X,Y\)への\( {\rm Hom}\)集合を\( {\rm Hom}(A,X)\), \( {\rm Hom}(A,Y)\)とし、対象\(X,Y\)での射の一つを\(f: X \rightarrow Y\)としたとき、\( {\rm Hom}(A,X)\)から\( {\rm Hom}(A,Y)\)への\(f\)に対応する射を\( {\rm Hom}(A,f)\)で表す。この射は、ドメインとコドメインとも集合なので、集合での関数となる。

2)\( {\rm Hom}\)関手のドメインとコドメインを構成する圏

それでは、\( {\rm Hom}\) 関手の入口側と出口側の圏について考えよう。入口側の、すなわちドメイン側の圏はちょっと特殊である。この圏ではドメインとコドメインとを結んでいる射の集まりは集合であるという制限を設けている。このような圏は、局所的に小さい圏と一般的に呼ばれている。

次に、\( {\rm Hom}\) 関手の出口側の圏、すなわちコドメイン側の圏について考えよう。この圏は馴染み深い集合の圏である。集合の圏は、1) 対象のそれぞれは集合であり、対象を集めたものは全体の集合となっていて(ラッセルのパラドックスとはならないような集合)、2) 射は対象間の関数の集合であるものをいう。

もう少し詳しく集合の圏を定義すると、対象を\(A,B,…\)としたとき、\(A\),\(B\),\(C\),…のそれぞれは集合であり、それらを集め全体を構成している\( \{A,B,C,…\} \)も集合である。そして、\(A\)から\(B\)への写像を\( {\rm Hom}(A,B) \)としたとき、\( {\rm Hom}(A,B), {\rm Hom}(A,C), {\rm Hom}(B,C)…. \)のそれぞれは集合である。

3)\( {\rm Hom}\)関手の定義

\( {\rm Hom}\)関手の説明に先立って、この関手の役割について言及しておこう。図32に示すように、圏での対象を\(A,X,Y\)とし、\(A\)からそれぞれの対象への射の集合を\( {\rm Hom}(A,X ) \),\( {\rm Hom}(A,Y ) \)とし、\(X\)から\(Y\)への射の一つを\(g:X \rightarrow Y\)としよう。\( {\rm Hom}(A,X ) \),\( {\rm Hom}(A,Y ) \)は集合なので、その間に関数を定義することができる。これには\(g\)を用いて、\( {\rm Hom}(A,g) \)としよう。

関手の役割は、\( {\rm Hom}(A,X ) \),\( {\rm Hom}(A,X ) \),\( {\rm Hom}(A,g) \)を外に放り出し、これらを\(X,Y,g\)で結ぶことである。

f:id:bitterharvest:20200504085924p:plain:w200
図32:共変\(\rm{Hom}\)関手の役割

今あげた例は、\(A\)から出ていく射の集合について考えたが、図33に示すように、入ってくるものについても考えることができる。考え方は同じだが、\(Y\)から\(A\)への関数は、\(X\)を経由しての関数の合成となるように、\(g\)の向きを逆転させ、\(g^{op}: Y \rightarrow X\)とし、\( {\rm Hom}(Y,A ) \)から\( {\rm Hom}(X,A ) \)への関数は\( {\rm Hom} (g^{op}, A) \)とする。すなわちすべてが反対となっている世界を定義する。前者では関手が共変となるのに対し、後者は反変となる。

f:id:bitterharvest:20200504075534p:plain:w200
図33:反変\(\rm{Hom}\)関手の役割

準備が済んだので、共変関手の方から定義しよう。関手は\( {\rm Hom}_\mathcal{C}(A, - )\)と記される。圏\(\mathcal{C}\)の対象\(X\),\(Y\)と射\(g\)は、この関手によって、圏\(\mathbf{Set}\)の対象\( {\rm Hom}_\mathcal{C} (A,X) \), \( {\rm Hom}_\mathcal{C} (A,Y) \)と射\( {\rm Hom}_\mathcal{C} (A,g) \)に移される。これを図34に示す。

f:id:bitterharvest:20200518094628p:plain:w450
図34:共変\(\rm{Hom}\)関手の定義

反変関手の定義は図35になる。ここでは、圏\(\mathcal{C}\) での射の向きを逆にした圏\(\mathcal{C}^{op}\)が使われていることに注意して欲しい。

f:id:bitterharvest:20200518094807p:plain:w450
図35:反変\(\rm{Hom}\)関手の定義

4)簡単な例

それではストリング・ダイアグラムで表すことを考えよう。段階的に話を進めるために、まず図36を考えよう。対象は\(A,X\)とし、\( {\rm Hom}_\mathcal{C}(A,A ) \)はその要素に\(a\) を有するとする(実際には恒等射\(I_A\)を始めとする\(A\)から\(A\)への射であるが、ここは集合なので、要素という感触をだすために\(a\)を用いる)。

f:id:bitterharvest:20200518095303p:plain
図36:共変\(\rm{Hom}\)関手の簡単な例

例によって圏\(1\)を設け、\(\mathcal{C}\)の対象と射を関手と自然変換するために関手\(A,X\)を張り、さらに\( {\rm Hom}_\mathcal{C}(A,A ) \)の要素\(a\)を表現できるように関手\(*\)を張っておこう。図で示すと37になる。

f:id:bitterharvest:20200518095230p:plain
図37:圏\(1\)を利用して、ストリング・ダイアグラムで表せるようにする。

これをpasting diagramで示すと図38となる。

f:id:bitterharvest:20200518095241p:plain:w300
図38:簡単な例をpasting diagramで表す。

さらにストリング・ダイアグラムで表すと図39となる。

f:id:bitterharvest:20200518101012p:plain:w350
図39:簡単な例をストリング・ダイアグラムで表す。

反変関手についても同じように議論を進めることができる。これについては読者の方で確認して欲しい。

5)一般的な例

それではもう少し一般的な場合について考えることにしよう。単純な例に対象\(Y\)を付け加え、\(g:X \rightarrow Y\)が与えられたとしよう。

まず共変関手\( {\rm Hom}_\mathcal{C}(A, - ) \)の方から考えることにしよう。図で表すとき、\( {\rm Hom}_\mathcal{C}(A, - ) \)という表記はスペースを必要とするので、これからは\(h^A\)で表すこととする。すると\( {\rm Hom}\) 関手は図40になる。

f:id:bitterharvest:20200518101032p:plain
図40:\({\rm Hom}\)関手の概念図

圏\(1\)を利用して関手を張ったものが図41である。

f:id:bitterharvest:20200518101044p:plain
図41:圏\(1\)を利用して、対象と射を関手と自然変換に変える。

これをpasting diagramで表すと図42となる。

f:id:bitterharvest:20200504084613p:plain:w300
図42:\({\rm Hom}\)関手をpasting diagramで表す。

さらにストリング・ダイアグラムで表すと図43となる。

f:id:bitterharvest:20200505084023p:plain
図43:\({\rm Hom}\)関手をストリング・ダイアグラムで表す。


それでは次に反変関手\( {\rm Hom}_\mathcal{C}( - ,A ) \)について考えよう。これも同じように\(h_A\)で表すと、圏\(1\)から関手を張った段階は図44となる。
f:id:bitterharvest:20200518101348p:plain
図44:反変関手に対して圏\(1\)より関手を張る。

これよりストリング・ダイアグラムを作成すると図45となる。途中の過程は省略してあるので、共変関手を参考にして途中経過を追って欲しい。

f:id:bitterharvest:20200504091955p:plain
図45:反変関手でのストリング・ダイアグラム

これで基礎は終わりである。次はいよいよ随伴に進む。

圏論:ストリング・ダイアグラム ー 自然変換

1.6 自然変換

対象の間をつないだものが射、圏の間をつないだものが関手、そして関手の間をつないだものが自然変換である。射での合成は、関手でも保存されたが、自然変換でも同じように保存される。

関手は二つの圏を結ぶものであった。このため一方の圏は関手のドメインとなり、他方の圏は関手のコドメインであるが、本当の意味でドメインになるのは一方の圏の対象であり、コドメインとなるのは他方の圏の対象である。

従って一方の圏から対象\(X\)を任意に選んだとき、関手\(F,G\)のドメインは\(X\)で、コドメインはそれぞれ\(F((X),G(X)\)である。関手\(F,G\)をつなぐ自然変換\(α\)はドメインごとに定義され、ドメインは自然変換\(α\)の成分と呼ばれる。従って成分\(X\)に対しての自然変換は、\(α_X:F(X) \rightarrow G(X) \)で定義される。

圏\(\mathcal{C}\)で任意の射\(f:X \rightarrow Y\)を考える。このとき、対象\(Y\)を成分にして、自然変換\(α_Y:F(Y) \rightarrow G(Y) \)を定義することができる。このとき、それぞれの関係は図28に示すようになる。

f:id:bitterharvest:20200429143253p:plain
図28:自然変換
上記の図で、\(F(X)\)から\(G(Y)\)に行く経路には、最初に\(α_X\)を計算した後で\(G(f)\)を計算してたどり着く場合と、最初に\(F(f)\)を計算した後で\(α_Y\)を計算してたどり着く場合とがある。自然変換は、経路に寄らないというのが定義である。従って、自然変換は、任意の成分\(X\)に対して\(G(f) \circ α_X =α_Y \circ F(f)\)と定義される。

それでは、自然変換をストリング・ダイアグラムで表すこととしよう。例によって、圏\(1\)を用意し、\(\mathcal{C}\)の対象と射を、それぞれ関手と自然変換に変えよう。これは図29になる。

f:id:bitterharvest:20200429143328p:plain
図29:自然変換を圏\(1\)と結びつける

図30はこれのpasting diagramである。

f:id:bitterharvest:20200429143428p:plain:w300
図30:自然変換をpasting diagramで表す。

ストリング・ダイアグラムでは複数の表現方法が可能であるが、その代表的なものが図31である。この図で右側の2つのダイアグラムが、自然変換の定義に相当する。

f:id:bitterharvest:20200429143509p:plain
図31:自然変換をストリング・ダイアグラムで表す。


用語説明:自然同型


自然変換は射の一種である。このため同型射を考えることができる。同型射は、ドメインからコドメインへの射が全単射であることを言う。これと同じように、自然同型とは、任意の成分\(X\)に対しての自然変換\(α_X:F(X) \rightarrow G(X\)が全単射となっていることである。

あるいは次のように定義することもできる。関手\(F\)から関手\(G\)への自然変換\(α_X\)が自然同型であるとは、任意の成分\(X\)に対して、\(β_X \circ α_X = I_F\) かつ\(α_X \circ β_X=I_G\) となるような、関手\(G\)から関手\(F\)への自然変換\(β_X\)が存在するときである。これを図で示したのが付録7である。

f:id:bitterharvest:20200430100249p:plain
付録7:自然同型

自然同型をストリング・ダイアグラムで表すと次のようになる。なお、\(u \in F(X), v \in G(X) \)である。

f:id:bitterharvest:20200430100357p:plain
付録8:自然同型をストリング・ダイアグラムで表す。

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

1.5 関手

関手は、未知の圏を既知の圏から観察できるようにしてくれる、圏論の中でも重要な概念の一つである。二つの圏が与えられたとき、これらを関手でつなぐことによって、一方の圏が持つ代数的構造を、他方の圏に持ち込むことが可能になり、他方を観察できるようにしてくれる。関手に要求されているのはとても単純で、射の合成を保存することである。

関手は、射の対応づけの違いによって2種類ある。その一つは共変関手(covariant functor)と呼ばれ、射の向きが変わることはない。他の一つは反変関手(contravariant functor)と呼ばれ、射の向きが逆になる。

共変関手は次のように定義される。二つの圏\(\mathcal{C},\mathcal{D}\)が存在したとき、共変関手\(F\)は
1) \(\mathcal{C}\)のそれぞれの対象\(X\)を\(\mathcal{D}\)の対象\(F(X)\)に対応させる。
2) \(\mathcal{C}\)のそれぞれの射\(f : X \rightarrow Y \)を\(\mathcal{D}\)の射\(F(f): F(X) \rightarrow F(Y) \)に対応させる。
そして以下の条件を満たす(これは恒等射と射の合成を保存するものである)。
3) \(\mathcal{C}\)のそれぞれの対象\(X\)に対して、その恒等射\(I_X\)は写された側でも恒等射となる。すなわち\( F(I_X)=I_{F(X)} \)である。
4) \(\mathcal{C}\)の任意の射\(f : X \rightarrow Y, g : Y \rightarrow Z \)に対して、\(F(g \circ f) = F(g) \circ F(f) \)である。

それでは最初に1)と2)をストリング・ダイアグラムで表すことを考えよう。対象と射の関係を表すと図21になる。

f:id:bitterharvest:20200428132209p:plain:w350
図21:二つの圏を結ぶ関手

例によって圏\(1\)を用いて、\(\mathcal{C}\)の対象と射を、関手と自然変換として表すことで図22を得る。

f:id:bitterharvest:20200428132317p:plain:w380
図22:圏\(1\)と結ぶ

これをpasting diagramで表すと図23となる。

f:id:bitterharvest:20200428132348p:plain:w380
図23:pasting diagramで表す。

これよりストリング・ダイアグラムを得るが、その表し方は図24に示すように複数あり、どれを選ぶかは好き好きでケースバイケースである。

f:id:bitterharvest:20200428132443p:plain
図25:ストリング・ダイアグラムで表す。

3)での恒等射の保存に対するストリング・ダイアグラムは図25となる。

f:id:bitterharvest:20200428132726p:plain:w300
図25:恒等射に関連する条件
また、4)での合成の保存については図26となる。
f:id:bitterharvest:20200428133831p:plain
図26:射の合成に関する条件

反変関手では、前述したように、関手によって移される射の向きが逆になる。従って上記で、2)と4)が次のように変わる。
2) \(\mathcal{C}\)のそれぞれの射\(f : X \rightarrow Y \)を\(\mathcal{D}\)の射\(F(f): F(Y) \rightarrow F(X) \)に対応させる。
4) \(\mathcal{C}\)の任意の射\(f : X \rightarrow Y, g : Y \rightarrow Z \)に対して、\(F(g \circ f) = F(f) \circ F(g) \)である。

しかし図27に示すように、\(\mathcal{C}\)の双対圏\(\mathcal{C^{op}}\)を用意することで、\(\mathcal{C}\)と\(\mathcal{D}\)に対してではなく、\(\mathcal{C^{op}} \)と\(\mathcal{D}\)の間で考えればよいことになるので、共変関手の概念だけで取り扱うことが可能になる。

f:id:bitterharvest:20200428135926p:plain
図27:反変関手は、共変関手として扱う

用語説明:モノイドの圏


全ての小さい圏を対象とし、圏の間の関手を射とした圏は、小さい圏の圏\(\mathbf{Cat}\)と呼ばれる。また対象をモノイドに限定したときは、モノイドの圏\(\mathbf{Mon}\)と呼ばれる。先に説明したように、関手は合成を保存\(F(g \circ f) = F(g) \circ F(f)\)するので、モノイドの圏\(\mathbf{Mon}\)では、次のモノイド準同型が成り立つ。

モノイド準同型の定義:モノイドの圏\(\mathbf{Mon}\)に、二つのモノイド\(M,M'\)があり(これらは対象である)、\(M\)での射を\(a,b,c...\)とし、その合成を\(\circ\)とし、\(M'\)での合成を\(\bullet\)とし、\(M\)から\(M'\)への関手を\(F\)とする。このとき、モノイド準同型であるとは、\( F ( a \circ b \circ c ... )=F(a) \bullet F(b) \bullet F(c) ... \)が成り立つというものである。

モノイド準同型は関手の性質\(F(g \circ f) = F(f) \circ F(g) \)から容易に導き出されるが、ここでは例で示すことにとどめておく。
二つのモノイド\(M,M'\)を用意しよう。\(M\)は文字列の接続に関するもの、\(M'\)は前の記事で説明した自然数の加算としよう。これらの関手として文字列の長さを計算する\(length\)が用意されていたとしよう。

二つのモノイドは、モノイドの圏での対象であり、関手はこの圏での射であるので、これは図28になる。

f:id:bitterharvest:20200428153724p:plain
付録6:モノイドの圏でのモノイド準同型

それでは構成要素を見ていこう。まずはモノイドの圏\(\mathbf{Mon}\)の主要な構成要素は、
1) 対象:文字列に関するモノイド、自然数の加算を行うモノイドなどのモノイド
2) 射:文字列の長さを求める\(length\)などの関手

この圏の対象になっている圏は次のような構成である。文字列に関するモノイド\(M\)は
1) 対象:★
2) 射:文字列
3) 恒等射:空の文字列
4) 合成:文字列の接続\(++\)

自然数の加算に関するモノイド\(M'\)は
1) 対象:★
2) 射:自然数
3) 恒等射:\(0\)
4) 合成:加算\(+\)

関手\(length\)は、文字列の接続に関する計算を、自然数の加算に関する計算に持ち込む。
例えば、つぎの文字列の接続が与えられたとする。
\begin{eqnarray}
a &=& "This" ++ "\ " ++ "is” ++ "\ " \\
&& ++ "a" ++ "\ " ++ "pen" ++ "."
\end{eqnarray}
このとき、関手\(length\)は、これを長さの計算に置き換える。このとき、関手の性質から
\begin{eqnarray}
length(a) &=& \\
&& length("This" ++ "\ " ++ is ++ "\ " \\
&& ++ "a" ++ "\ " ++ "pen" ++ ".") \\
&=& length("This") + length("\ ") + length("is") + length("\ ") \\
&& + length("a") + length("\ ") + length("pen") + length(".")
\end{eqnarray}
となり、モノイド準同型となっていることが分かる。
ここでは一つの例を示したが、一般に言えることである。証明はしてください。

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

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 \)の証明

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

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