(1,2節) 圏の構造と公理

Jul 14, 2025 15 min

圏(Category)の定義

C\mathcal{C} は、次のデータからなる:

  • 対象集合 Ob(C)\mathrm{Ob}(\mathcal{C})
  • 射集合 HomC(A,B)\mathrm{Hom}_{\mathcal{C}}(A, B)A,BOb(C)A, B \in \mathrm{Ob}(\mathcal{C})
  • 合成gfg \circ ff:ABf : A \to B, g:BCg : B \to C
  • 恒等射idAHomC(A,A)\mathrm{id}_A \in \mathrm{Hom}_{\mathcal{C}}(A, A)
class Category cat where
  id  :: cat a a
  (.) :: cat b c -> cat a b -> cat a c

公理体系

  • 結合律h(gf)=(hg)fh \circ (g \circ f) = (h \circ g) \circ f
  • 恒等律idBf=f=fidA\mathrm{id}_B \circ f = f = f \circ \mathrm{id}_A
-- h . (g . f) == (h . g) . f
-- id . f == f == f . id

g :: String -> [Char] g = reverse h :: Int -> [Char] h = g . f f : X → Y に対して: id_X id_Y

図式記法と合成の視覚化

A ──f──▶ B ──g──▶ C

↓ g∘f

A ─────▶ C

  • 集合の圏 Set\mathbf{Set} 対象:集合、射:写像

  • 群の圏 Grp\mathbf{Grp} 対象:群、射:群準同型

  • 型と関数の圏(Haskell)

instance Category (->) where
  id x = x
  (g . f) x = g (f x)


このように、圏論は「対象・射・合成・恒等射・公理」の最小限の枠組みで、あらゆる数学的構造を統一的に記述する。

~Yu Tokunaga