范畴论

2 认识函子

在范畴论中,重要的是将注意力放在态射而不是对象上。事实上,我们将看到甚至可以在不使用对象概念的情况下定义” 范畴”。现在,我们采取更全局的观点,将范畴本身视为结构化对象。保持它们结构的” 态射” 被称为函子。
2.1 函子的定义

定义 2.1

如果 \(A\) 和 \(B\) 是范畴,那么从 \(A\) 到 \(B\) 的函子 \(F\) 是一种将每个 \(A\) - 对象 \(A\) 映射到 \(B\) - 对象 \(F(A)\),将每个 \(A\) - 态射 \(A \xrightarrow {f} A'\) 映射到 \(B\) - 态射 \(F(A) \xrightarrow {F(f)} F(A')\) 的函数,满足以下条件:

  • 1. 保持复合性:对于任何 \(A\) 中的态射 \(f \circ g\),有 \(F(f \circ g) = F(f) \circ F(g)\)。

  • 2. 保持单位态射:对于每个 \(A\) - 对象 \(A\),有 \(F(\text {id}_A) = \text {id}_{F(A)}\)。

约定 2.1: 符号表示

\(A\) 到 \(B\) 的函子通常用 \(F: A \to B\) 或 \(A \overset {F}{\to } B\) 表示。我们经常使用简化的符号 \(FA\) 和 \(Ff\) 代替 \(F(A)\) 和 \(F(f)\)。

注释 2.1:

注意,函子 \(F: A \to B\) 在技术上是一个函数的族;一个从 \(Ob(A)\) 到 \(Ob(B)\) 的函数,以及对于每对 \(A\) - 对象 \((A, A')\),一个从 \(hom(A, A')\) 到 \(hom(FA, FA')\) 的函数。由于函子保持单位态射,并且在任何范畴中对象的类与单位态射的类之间存在一一对应,因 此函子的对象部分实际上是由其态射部分确定的。事实上,我们将在后面看到,如果我们选择” 无对象” 的范畴定义,那么在范畴之间可以简单地定义为保持它们的态射类的函数。

例子:

  • 1. 恒等函子 :对于任何范畴 \(A\),存在恒等函子 \(\text {id}_A: A \to A\),定义为 \(\text {id}_A(A \xrightarrow {f}B) = A \xrightarrow {f}B\)。

  • 2. 常值函子 :对于任何范畴 \(A\) 和任何 \(B\) - 对象 \(B\),存在常值函子 \(\mathcal {C}_B: A \to B\),定义为 \(\mathcal {C}_B(A \xrightarrow {f}A') = B \xrightarrow {\text {id}_B} B\)。

  • 3. 忘却函子 :对于上述提到的构造范畴 \(A\),存在忘却函子(或底层函子)\(U: A \to \text {Set}\),其中在每种情况下 \(U(A)\) 是 \(A\) 的底层集合,\(U(f) = f\) 是底层函数。

  • 4. 协变和逆变 Hom- 函子 :对于任何范畴 \(A\) 和 \(A\) - 对象 \(A\),存在协变 Hom- 函子 \(\text {hom}(A, -): A \to \text {Set}\) 和逆变 Hom- 函子 \(\text {hom}(-, A): A^{op} \to \text {Set}\),分别定义为:

    • (a) - \(\text {hom}(A, -)(B\xrightarrow {f}C) = \text {hom}(A, B) \xrightarrow {\text {hom}(A, f)} \text {hom}(A, C)\),其中 \(\text {hom}(A, f)(g) = f \circ g\)。

    • (b) - \(\text {hom}(-, A)(B\xrightarrow {f}C) = \text {hom}(B, A) \xrightarrow {\text {hom}(f, A)} \text {hom}(C, A)\),其中 \(\text {hom}(f, A)(g) = g \circ f\)。

  • 5. 如果将幺半群 A 和 B 视为范畴,那么从 A 到 B 的函子本质上就是从 A 到 B 的 幺半群同态

  • 6. 如果将预序集 A 和 B 视为范畴,那么从 A 到 B 的函子本质上就是从 A 到 B 的 保序映射

  • 7. 协变幂集函子 :协变幂集函子 \(\mathcal {P}: \text {Set} \to \text {Set}\) 定义为 \(\mathcal {P}(A \xrightarrow {f}B) = \mathcal {P}(A) \xrightarrow {\mathcal {P}(f)} \mathcal {P}(B)\),其中对于子集 \(X \subseteq A\),有 \(\mathcal {P}(f)(X) = f[X]\),\(f[X]\) 为\(X\) 在\(f\) 下的像。

  • 8. 逆变幂集函子 :逆变幂集函子 \(\mathcal {Q}: \text {Set}^{op} \to \text {Set}\) 定义为 \(\mathcal {Q}(A\xrightarrow {f}B) = \mathcal {Q}(A) \xrightarrow {\mathcal {Q}(f)} \mathcal {Q}(B)\),其中对于子集 \(X \subseteq A\),有 \(\mathcal {Q}(f)(X) = f^{-1}[X]\),即\(X\) 在\(f\) 下的原像\(f^{-1}[X]\)。

  • 9. N 次幂函子 :对于任何正整数 \(n\),存在 N 次幂集函子 \(\mathcal {S}_n: \text {Set} \to \text {Set}\),定义为 \(\mathcal {S}_n(X\xrightarrow {f}Y) = X^n \xrightarrow {f^n} Y^n\),其中 \(X^{n}=X\times X\dots X,f^n(X^n)=(f(X),\dots ,f(X))=Y^n\)

  • 10. Stone 函子 :Stone 函子 \(S: \text {Top}^{op} \to \text {Boo}\) 将每个拓扑空间映射到布尔代数空间,对于连续映射 \(X\xrightarrow {f}Y\),有 \(Sf: S(Y) \to S(X)\) 定义为 \(Sf(Z) = f^{-1}[Z]\)。

  • 11. 对偶函子 :对于向量空间范畴 \(Vec\),对偶函子 \((-)^\wedge : Vec^{op} \to Vec\) 将每个向量空间映射到其对偶空间,对于线性映射 \(V\xrightarrow {f}W\),有 \((f^\wedge ): (W^\wedge ) \to (V^\wedge )\) 定义为 \((f^\wedge )(g) = g \circ f\)。

  • 12. 单对象范畴到集合范畴的函子 :对于单对象范畴 \(M\)(可以看作是一个单一的幺半群),从 \(M\) 到 \(\text {Set}\) 的函子实际上就是 \(M\) 的作用;即,对于每个集合 \(X\),函子 \(F(M\xrightarrow {m}M) = X^{M} \xrightarrow {F(m)} X\),其中 \((F(m))(f) = m \ast f\)。

这些示例强调了函子的广泛应用,它们提供了不同范畴之间的结构保持映射。