圏[category]
「圏」とは,集合と,集合の2つの要素の間を結ぶ矢印の集合の組であって,ある公理を満たしているもののこと.圏において,前者の集合の要素をその圏の「対象O」(object)と呼び,後者の矢印の集合の要素のことを「射」(morphism)という.
精確に定義すると,圏(category)とは\mathbb{C}=(O,A,\circ,id),但し,
各対象X,Y \in Oに対してA(X,Y)は対象Xから対象Yへの射(morphism)の集まりとし,A(X,Y)をAと書き,
各対象X,Y,Z \in Oに対して写像
\circ_{X,Y,Z}:A(Y,Z) \times A(X,Y) \longrightarrow A(X,Z)
すなわち,射の合成(composition)が定まっている.このとき,全ての\circ_{X,Y,Z}をまとめて\circと書く.
各対象X \in Oに対して恒等射(identify) id_{X}:X \longrightarrow Xが定まっていて,その全てをidと書く.
であって,結合律(associativity)と単位律(unit law)を満たすものをいう.
一方,射(morphism)の場合は,ある数学的構造を持つ数学的対象から別の数学的対象への「構造を保つ」写像の意味で用いられます(準同型).
例えば,A=\{1,2\},B=\{3,4\}という A,B 2つの集合があったとします.
このとき考えられる写像としては,\{(1,3),(2,4)\},\{(1,4),(2,3)\}の 1対1対応(全単射;bijective function, bijection)があります.
一方,射の場合は大小関係などの構造を持った数学的対象を考えます.例えば,A:1 < 2B:3 < 4の場合の射は\{(1,3),(2,4)\}だけになります.\{(1,4),(2,3)\}は 1<2 に対して 4 < 3 とはならないので,この場合は射とはなりません.
同じ種類の代数系から代数系への写像において代数系の算法(operation;演算)を保つものを準同型といいます.
つまり,代数系 A から代数系 B への写像 f において,A の算法(演算)\circ に B の算法(演算) \ast が対応しているとき,A の各元 x,y について,f(x \circ y)=f(x) \ast f(y)を満たす場合に準同型といいます.
オブジェクト指向プログラミングにおいて,同名のメソッドや型などをオブジェクトの種類に応じて使い分けることができる性質のことを「ポリモーフィズム(polymorphism)」といいますが,この「morphism」も変態(metamorphosis),変化させる(morph)という意味を持っています.
準同型と射とは日本語では異なりますが,英語では homo-morph-ic と morph-ism であることからも両者の関係が分かるでしょう.
Mathematics is the language with which God has written the universe.