范畴的定义把"对象 + 保持结构的态射"打包成一个整体;不同范畴之间同样有"保持结构"的对应——把对象映到对象、态射映到态射且不破坏复合,这样的对应就是函子。函子让"结构如何从一个数学分支翻译到另一个"有了精确语言(如群可以被忘掉运算只看成集合)。
需先掌握范畴的定义与范畴的例子(对象、态射、复合、恒等)。
定义
设 C,D 为范畴。协变函子 F:C→D 指派:每个对象 A 对应对象 F(A),每个态射 f:A→B 对应态射 F(f):F(A)→F(B),并且
- F(idA)=idF(A)(保持恒等)
- F(g∘f)=F(g)∘F(f)(保持复合)
反变函子(contravariant functor)F:Cop→D 把 f:A→B 映为 F(f):F(B)→F(A),复合反向:F(g∘f)=F(f)∘F(g)。
性质
- 函子保持同构:A≅B⇒F(A)≅F(B)
- 函子的复合仍是函子且满足结合律,恒等函子 idC 是单位;小范畴与函子构成范畴 Cat
- 函子的保真程度不同,见全忠实函子
例子
- 恒等函子 idC:什么都不改
- 遗忘函子 U:Grp→Set:把群送到底层集合、同态送到底层映射
- 自由函子 Set→Grp:集合生成自由群(遗忘函子的左伴随)
- 幂集函子 P:Set→Set:A↦P(A);f:A→B 可映为 S↦f(S)(协变)或 S↦f−1(S)(反变)
- Hom 函子:Hom(A,−):C→Set 把 g:B→B′ 映为 h↦g∘h;Hom(−,B):Cop→Set 把 f:A′→A 映为 h↦h∘f
应用
自然变换定义在函子之间,全忠实函子、范畴等价与米田引理都以函子为基本原料;"遗忘—自由"配对提示了后续的伴随函子概念。