プログラマーであれば,「等しいこと」を定義することが自明ではないことをよくご存知だろう.それらはメモリの同じ場所を占めないといけないのか(ポインター等価).それともその要素の値が全て等しければ十分なのか.二つの複素数は,一方が実部と虚部で表され,他方が絶対値と偏角で表されるときに等しいのか.数学者には等価の意味が分かると思うかもしれないが,そうではない.彼らもいくつかの競合する等価の定義に悩まされている.たとえば命題等価,内包的等価,外延的等価,ホモトピー型理論での道としての等価などがある.そしてより弱い概念である同型や,それより弱い概念である同値がある.

同型な対象は直感的に同じに見える.それらは同じ形状を持つ.それは,ある対象の全ての部分が別の対象の一部と一対一に対応することを意味する.我々の道具立てでは,そのような二つの対象は互いに完全なコピーである.数学的には,そのことは対象 a から b への写像と,その逆写像があることを意味する.圏論では写像は射と置き換えられる.同型とは可逆な射,言い換えれば互いに逆の射の組である.

合成と等価の観点で,逆射という概念を見てみよう.もし射 gh の合成が恒等射であれば,gh の逆射である.二つの射を合成する方法は二通りあるので,実際には以下の二つの方程式を満たす必要がある.

f . g = id
g . f = id

以前に始(終)対象は同型を除いて一意だと述べたが,これは任意の始(終)対象は同型であることを意味していた.このことは容易に分かる.始対象 i_1i_2 があるとしよう.i_1 は始なので,i_1 から i_2 への一意な射 f が存在する.同様にi_2 は始なので,i_2 から i_1 への一意な射 g が存在する.二つの射の合成はどうなるだろうか.

図中の全ての射は一意である

合成 g \circ fi_{1} からi_{1} への射でなければならない. だが i_1 は始なので,i_1 から i_1 への射は一つしか存在しない.ある圏について考えているので,i_1 から i_1 への恒等射が唯一つだけ存在する.それ故 g \circ f は恒等射である.同様に i_2 から i_2 への射は一つしか存在しないので, f \circ g は恒等射である.したがって fg は互いに逆の関係にあることが示される.よって任意の二つの始対象は同型である.

この証明で,始対象から自身への射の一意性を用いたことに注意しよう.そのことを用いずには,「同型を除いて」という箇所を証明できなかった.だがなぜ fg の一意性が必要なのだろうか.なぜなら始対象は同型を除いて一意であるだけではなく,一意の同型を除いて一意だからだ.原理的には,二つの対象の間には一つ以上の同型写像が存在しうるが,ここではそうではない.この「一意の同型を除いて一意」というのは全ての普遍的構成の重要な性質だ.

(和訳:@dshin)