圏論の小ネタ記事をもうひとつ。
「キュリアの絵算」より:
キュリアの方法(キュリアのオリジナルかどうかは分かりませんが)の特徴の1つは、自然変換の計算と射の計算を混ぜてしまうことです。最初は戸惑うのですが、慣れてしまうととても便利です。
自然変換の計算と射の計算を混ぜてしまう方法は、いくつかの点から魅力的な計算法です。絵(ストリング図)だけでなく、テキスト記法でも使えます。
発想は別に難しくはありません(気づくのは難しい)。自然変換 α::F⇒F をストリング図では次のように描きます。(面倒なのでアスキーアートで。)
F | (α) | G
ひとつの圏の内部の射 f:A→B は次のように描きます。
A | (f) | B
絵としては同じなので、だったら混ぜちゃえ、というわけです。混ぜるために、射のほうを自然変換に“格上げ”して、計算は自然変換の世界で行います。
問題は「どうやって格上げするか」です。この問題の解決には、単位圏から圏Cへの関手はCの対象と同一視できることを利用します。
単位圏/単元圏(unit category / singleton category)とは、対象が1つだけ、射もひとつだけの圏です。単位圏はしばしば1と書かれますが、記号イチが多用され過ぎなのでEと書くことにします。
- Ob(E) = |E| = {E} (対象はEだけ)
- Mor(E) = {idE} (射はidEだけ)
では格上げの説明をします。AがCの対象のとき、関手 A~:E→C を次のように定義します。
- A~(E) = A
- A~(idE) = idA
これが関手になるのは明らかでしょう。
f:A→B がCの射のとき、自然変換 f~::A~⇒B~:E→C を次のように定義します。
- f~E = (f:A→B in C)
定義はこれだけです、Eの射はidEだけなので、自然変換の条件は、idE:E→E in E について調べれば終わりです。自明ですがやってみてください。
こうやって出来た自然変換 f~::A~⇒B~:E→C をアスキーアートで描きます。上付きやフォントの別は無視します。
A~ | E (f~) C | B~
チルダをいちいち書かないことにすれば、
A | E (f) C | B
これは、Cの射を、EからCへの関手のあいだの自然変換と同一視したことになります。もともとfは、Cの内部にあったものですが、格上げして外に引っぱり出すと、関手と自然変換の計算の俎上に載せることができます。