Red cat の数学よもやま話・新装開店

はてなダイアリー「Red cat の数学よもやま話」から徐々にこちらに移行していきます。

楽しい圏論(その 1)

今回から, 圏論について述べていこうと思います. Heyting 代数の話の中でも, 一部で圏論の一般論を適用してきましたが, それらを改めて確認する意味も込めて, 今回は

  • 圏の定義
  • 函手・自然変換
  • 米田の補題
  • 随伴函手
  • 余極限と極限

を見ていきたいと思います.

圏の定義

{\mathcal{M}} をクラス*1とします.

{C \subset \mathcal{M} \times \mathcal{M}} を部分クラスとし, クラス関数 {c : C \to \mathcal{M}} が与えられているものとします. {(x, y) \in C} のとき {c(x, y) = xy} と書き, {xy}定義されている(defined)と言います. {(x, y) \not\in C} のときは {xy}定義されていない(undefined)と言います.

{\mathcal{M}}{C} の組が以下の公理を満たすとき, これを(category)であると言います. また, このとき {\mathcal{M}} の要素を(map)と言います.

公理 1. {x, y, z \in \mathcal{M}} において以下が同値である.

  1. {xy}{yz} が定義されている.
  2. {(xy)z} が定義されている.
  3. {x(yz)} が定義されている.
  4. {(xy)z}{x(yz)} が定義されていて常に等しい({(xy)z = x(yz)}).

公理 2. 以下を満たす {e \in \mathcal{M}}恒等射(identity map)という.

{ex} または {xe} の少なくとも一方が定義されるならば, その定義されているものは常に {x} に等しい.」

いかなる {x \in \mathcal{M}} に対しても, {e_L x = x = x e_R} を満たす恒等射 {e_L, e_R} が存在する.

命題 0.1. {e, e'} が恒等射で {ex}{e'x} がともに定義されているならば {e = e'.}

(証明) {e(e'x) = ex = x} となるから, 公理 1 により {ee'} は定義され, {e = ee' = e'} である. ■*2

命題 0.1 と公理 2 は, 以下の性質を満たすクラス関数 {R : \mathcal{M} \to \mathcal{M}} が存在することを示唆します.

  • {R(x)} は恒等射である.
  • {R(x)x} が定義されている.
  • {e}{ex} が定義されている恒等射とすれば {e = R(x).}

同様に, 以下の性質を満たすクラス関数 {D : \mathcal{M} \to \mathcal{M}} も存在します.

  • {D(x)} は恒等射である.
  • {xD(x)} が定義されている.
  • {e}{xe} が定義されている恒等射とすれば {e = D(x).}

命題 0.2. {D(x) = R(y)} ならば, かつその時に限り {xy} が定義される.

(証明) only if について. {xy = (xD(x))y} であるから, 公理 1 により {D(x)y} が定義される. 一方 {R(y)y} も定義されており, {D(x)}{R(y)} も恒等射であるから {D(x) = R(y).}
if について. {D(x) = R(y) = e} とおくと {xe}{ey} がともに定義されているので, 公理 1 により {xy = (xe)y = x(ey)} も定義される. ■

命題 0.3. {xy} が定義されるならば {D(xy) = D(y), R(xy) = R(x).}

(証明) {xy}{yD(y)} がともに定義されているので, 公理 1 により {(xy)D(y)} が定義されており {D(xy) = D(y)} である. {R(xy) = R(x)} も同様に示される. ■

ここで, クラス {\mathcal{O}} を, その要素が {\mathcal{M}} の恒等射と 1 対 1 に対応するようなものとします. {\mathcal{O}} の要素は対象(object)と呼ばれ, {A \in \mathcal{O}} に対応する {\mathcal{M}} の要素を {1_A} で表すことにします.

{x \in \mathcal{M}} に対して {B \in \mathcal{O}}{x}値域(range)であるとは, {1_B = R(x)} であることと定義します. また, {A \in \mathcal{O}}{x}定義域(domain)であるとは, {1_A = D(x)} であることと定義します.

命題 0.2 と 0.3 は, 集合間の写像に対して期待される性質を圏論の言葉に翻訳しています.

今後は, 圏 {\mathcal{C}} とは, 上記の性質を満たしているようなクラス {\mathcal{O}}{\mathcal{M}} の組 {\mathcal{C} = (\mathcal{O}, \mathcal{M})} であると考えることにします. とりわけ, 圏 {\mathcal{C}} の対象, ないし射であることを強調するときは {\mathcal{O}_\mathcal{C}, \mathcal{M}_\mathcal{C}} と表記することにします.

{A, B \in \mathcal{O}} に対して, {\mathcal{C}(A, B) \subset \mathcal{M}} を, 定義域が {A} かつ値域が {B} であるような射 {x \in \mathcal{M}} の全体からなるクラスとします. {x \in \mathcal{C}(A, B)} であるとき, {x : A \to B} と表記します. しばしば {A \overset{x}{\longrightarrow} B} と表記したり, また射 {x} の表記を省略して単に A \to B と表記することもあります.

{A \to B}{B \to C} の合成を {A \to B \to C} と表記します. {A \to B \to C = A \to D \to C} の代わりの表記として, 以下の可換図式を用います.

{\require{AMScd}\begin{CD}
A @>>> B \\
@VVV @VVV \\
D @>>> C
\end{CD}}

*1:公理的集合論で言うところの「クラス」です. 定式化については Bernays-Gödel の公理系を使うのが一般的だと思われます.

*2:以下, 証明終了の記号として使います.