このブログの更新は Twitterアカウント @m_hiyama で通知されます。
Follow @m_hiyama

メールでのご連絡は hiyama{at}chimaira{dot}org まで。

はじめてのメールはスパムと判定されることがあります。最初は、信頼されているドメインから差し障りのない文面を送っていただけると、スパムと判定されにくいと思います。

参照用 記事

対象と射を関手と自然変換に格上げする方法

圏論の小ネタ記事をもうひとつ。

キュリアの絵算」より:

キュリアの方法(キュリアのオリジナルかどうかは分かりませんが)の特徴の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~:EC を次のように定義します。

  • A~(E) = A
  • A~(idE) = idA

これが関手になるのは明らかでしょう。

f:A→B がCの射のとき、自然変換 f~::A~⇒B~:EC を次のように定義します。

  • f~E = (f:A→B in C)

定義はこれだけです、Eの射はidEだけなので、自然変換の条件は、idE:E→E in E について調べれば終わりです。自明ですがやってみてください。

こうやって出来た自然変換 f~::A~⇒B~:ECアスキーアートで描きます。上付きやフォントの別は無視します。

   A~
   |
E (f~) C
   |
   B~

チルダをいちいち書かないことにすれば、

   A
   |
E (f) C
   |
   B

これは、Cの射を、EからCへの関手のあいだの自然変換と同一視したことになります。もともとfは、Cの内部にあったものですが、格上げして外に引っぱり出すと、関手と自然変換の計算の俎上に載せることができます。