(2,1節) 関手の定義

Jul 22, 2025 15 min

2.1 関手の定義(Functor)

圏論における関手は、圏から圏への“構造保存的な写像”です。関手は、圏の間に写像を張ることで、構造そのものを保ったまま変換を行います。

定義(形式的)

関手 F:CDF : \mathcal{C} \to \mathcal{D} とは:

  • 各対象 AOb(C)A \in \mathrm{Ob}(\mathcal{C}) に対し、対象 F(A)Ob(D)F(A) \in \mathrm{Ob}(\mathcal{D}) を対応させる。
  • 各射 f:ABHomC(A,B)f : A \to B \in \mathrm{Hom}_{\mathcal{C}}(A, B) に対し、射 F(f):F(A)F(B)HomD(F(A),F(B))F(f) : F(A) \to F(B) \in \mathrm{Hom}_{\mathcal{D}}(F(A), F(B)) を対応させる。

この対応は、次の2条件を満たす:

  1. 恒等射の保存F(idA)=idF(A)F(\mathrm{id}_A) = \mathrm{id}_{F(A)}
  2. 合成の保存F(gf)=F(g)F(f)F(g \circ f) = F(g) \circ F(f)f:ABf : A \to B, g:BCg : B \to C

直感と例

関手は「圏の構造を壊さずに、別の圏へ写すルール」です。

例えば、集合の圏から群の圏への関手は、各集合を群に、各写像を群準同型に対応させます。

-- Haskell型クラスによる関手のイメージ
class Functor f where
  fmap :: (a -> b) -> f a -> f b

関手は「圏の世界をまるごと別の圏へ移す変換装置」。恒等射・合成の保存が“構造保存”の本質です。

~Yu Tokunaga