2.1 関手の定義(Functor)
圏論における関手は、圏から圏への“構造保存的な写像”です。関手は、圏の間に写像を張ることで、構造そのものを保ったまま変換を行います。
定義(形式的)
関手 F:C→D とは:
- 各対象 A∈Ob(C) に対し、対象 F(A)∈Ob(D) を対応させる。
- 各射 f:A→B∈HomC(A,B) に対し、射 F(f):F(A)→F(B)∈HomD(F(A),F(B)) を対応させる。
この対応は、次の2条件を満たす:
- 恒等射の保存:
F(idA)=idF(A)
- 合成の保存:
F(g∘f)=F(g)∘F(f)
(f:A→B, g:B→C)
直感と例
関手は「圏の構造を壊さずに、別の圏へ写すルール」です。
例えば、集合の圏から群の圏への関手は、各集合を群に、各写像を群準同型に対応させます。
-- Haskell型クラスによる関手のイメージ
class Functor f where
fmap :: (a -> b) -> f a -> f b
関手は「圏の世界をまるごと別の圏へ移す変換装置」。恒等射・合成の保存が“構造保存”の本質です。