范畴论

1.4 范畴
1.4.1 范畴的定义

定义 1.3

一个范畴是由四元组 \(\mathbf {A}= (O, \text {hom}, \text {id}, \circ )\) 组成的数学结构,其中:

  • 1. 类 \(O\):它的成员被称为 \(\mathbf {A}\) - 对象(A-objects)。

  • 2. 对于每一对 \(\mathbf {A}\) - 对象 (A, B):存在一个集合 \(\text {hom}(A, B)\),其成员被称为 \(\mathbf {A}\) - 态射(A-morphisms),通常用箭头表示,例如 \(f: A \to B\) 表示 f 是从 A 到 B 的态射。

  • 3. 每个 \(\mathbf {A}\) - 对象 \(\mathbf {A}\) :存在一个态射 \(\text {id}_A: A \to A\),称为 \(\mathbf {A}\) - 恒等态射。

  • 4. 一个与每一对 \(\mathbf {A}\) - 态射 \(f: A \to B\) 和 \(g: B \to C\) 相关的合成法则:存在一个态射 \(g \circ f: A \to C\),称为 f 和 g 的复合,满足以下条件:

    • (a) 复合是结合的,即对于任意态射 \(f: A \to B, g: B \to C, h: C \to D\),等式 \(h \circ (g \circ f) = (h \circ g) \circ f\) 成立。

    • (b) 恒等态射作为复合的单位元,即对于任意态射 \(f: A \to B\),有 \(\text {id}_B \circ f = f\) 和 \(f \circ \text {id}_A = f\)。

    • (c) 任意两个态射集合 \(\text {hom}(A, B)\) 和 \(\text {hom}(C, D)\) 是两两不相交的。

为了表示的方便,范畴 A 中所有的对象用 Obj (\(\mathbf {A}\)) 表示,所有的态射用 Mor (\(\mathbf {A}\)) 表示,有时为了特指某个范畴的态射集,明确指出态射集的下标:\(hom_\mathbf {A}(A,B)\)。如果 Obj (\(\mathbf {A}\)) 是一个集合,Mor (\(\mathbf {A}\)) 也是一个集合,我们称范 畴 \(\mathbf {A}\) 是小 (small) 的;如果只满足 Mor (\(\mathbf {A}\)) 是集合,那么这个范畴是局部小的 (local-small)。

1.4.2 范畴的例子
  • 1. Category Set (集合范畴)

    • • 对象类 \(O\): 所有集合的类。

    • • 态射集合 \(hom(A, B)\): 所有从集合 \(A\) 到 \(B\) 的函数的集合。

    • • 恒等态射 \(id_A\): 在集合 \(A\) 上的恒等函数。

    • • 复合 \(\circ \): 常规的函数复合。

  • 2. 结构化集合与结构保持映射的范畴

    • (a) Vec(向量空间范畴

      • • 对象类 \(O\): 所有实数向量空间。

      • • 态射集合 \(hom(V, W)\): 所有线性变换从向量空间 \(V\) 到 \(W\)。

      • • 恒等态射 \(id_V\): 向量空间 \(V\) 上的恒等线性变换。

    • (b) Grp(群范畴

      • • 对象类 \(O\): 所有群。

      • • 态射集合 \(hom(G, H)\): 所有群同态从群 \(G\) 到 \(H\)。

      • • 恒等态射 \(id_G\): 群 \(G\) 上的恒等群同态。

    • (c) Top(拓扑空间范畴)

      • • 对象类 \(O\): 所有拓扑空间。

      • • 态射集合 \(hom(X, Y)\): 所有连续函数从拓扑空间 \(X\) 到 \(Y\)。

      • • 恒等态射 \(id_X\): 拓扑空间 \(X\) 上的恒等连续函数。

    • (d) Rel(关系范畴)

      • • 对象类 \(O\): 所有二元关系 \((X, \rho ) \),其中 \(X\) 是一个集合,\(\rho \) 是 \(X\) 上的二元关系。

      • • 态射 \(f: (X, \rho ) \to (Y, \sigma )\): 关系保持映射,即 \(f: X \to Y\),使得对于任意 \(x, x' \in X\),若 \(x \rho x'\),则 \(f(x) \sigma f(x')\)。

    • (e) Σ-Seq (状态机范畴)

      • • 在 Σ-Seq 范畴中,对象是所有(确定性、顺序)Σ-acceptors,其中 Σ 是输入符号的有限集。对象是四元组 \((Q, \delta , q_0, F)\),其中 \(Q\) 是状态的有限集,\(\delta : \Sigma \times Q \to Q\) 是状态转移映射,\(q_0 \in Q\) 是初始状态,\(F \subseteq Q\) 是终态的集合。

      • • 一个态射(称为模拟)\(f: (Q, \delta , q_0, F) \to (Q', \delta ', q'_0, F')\) 是一个函数 \(f: Q \to Q'\),它保持以下条件:

        • i. 状态转移关系:对于任意 \(\sigma \in \Sigma \) 和 \(q \in Q\),都有 \(\delta '(\sigma , f(q)) = f(\delta (\sigma , q))\)。

        • ii. 初始状态:\(f(q_0) = q'_0\)。

        • iii. 终态:\(f[F]\subseteq F'\)。

      • • 恒等态射 \(id_{(X, \rho )}\): 即集合 \(X\) 上的恒等关系保持映射。

        这样的模拟确保了在 Σ-Seq 范畴中每个对象都有一个与之相关的态射,同时保持了复合法则。

  • 3. 对象构造

    在构造中,一旦对象被定义,往往就清楚了态射应该是什么。然而,并非总是如此。例如:

    • (a) Metric Spaces

      • • \(Met\)(度量空间范畴):所有度量空间为对象,态射为所有非扩张映射(即收缩映射)。

      • • \(Met_u\)(度量空间范畴):所有度量空间为对象,态射为所有一致连续映射。

      • • \(Met_c\)(度量空间范畴):所有度量空间为对象,态射为所有连续映射。

    • (b) Banach Spaces

      • • \(Ban\)(巴拿赫空间范畴):所有巴拿赫空间为对象,态射为所有线性收缩映射。

      • • \(Ban_b\)(巴拿赫空间范畴):所有巴拿赫空间为对象,态射为所有有界线性映射(即连续线性映射、一致连续线性映射)。

  • 4. 不同结构的范畴

    在下列范畴中,对象和态射不是结构化集合和保结构函数:

    • (a) Mat(矩阵范畴):所有自然数为对象,而 \(\text {hom}(m, n)\) 是所有实数 \(m \times n\) 矩阵的集合,\(\text {id}_n\) 是单位对角线 \(n \times n\) 矩阵,矩阵的复合定义为 \(A \circ B = BA\),其中 \(BA\) 表示矩阵的通常乘法。

    • (b) Aut(自动机范畴):所有(确定性、顺序、Moore)自动机为对象,对象是六元组 \((Q, \Sigma , Y, \delta , q_0, y)\),其中 \(Q\) 是状态的集合,\(\Sigma \) 和 \(Y\) 是输入和输出符号的集合,\(\delta : \Sigma \times Q \to Q\) 是过渡映射,\(q_0 \in Q\) 是初始状态, \(y: Q \to Y\) 是输出映射。从自动机 \((Q, \Sigma , Y, \delta , q_0, y)\) 到自动机 \((Q', \Sigma ', Y', \delta ', q'_0, y')\) 的态射是函数 \(f_Q: Q \to Q'\),\(f_\Sigma : \Sigma \to \Sigma '\) 和 \(f_Y : Y \to Y'\), 满足以下条件:

      • i. 保持过渡:\(\delta '(f_\Sigma (\sigma ), f_Q(q)) = f_Q(\delta (\sigma , q))\),

      • ii. 保持输出:\(f_Y(y(q)) = y'(f_Q(q))\),

      • iii. 保持初始状态:\(f_Q(q_0) = q'_0\)。

    • (c) Classes as Categories(类作为范畴):每个类 \(X\) 给出一个范畴 \(C(X) = (O, \text {hom}, \text {id}, \circ )\),其中 \(O = X\),\(\text {hom}(x, y) = \emptyset \) 如果 \(x \neq y\),\(\text {hom}(x, y) = \{x\}\) 如果 \(x = y\),\(\text {id}_x = x\),且 \(x \circ x = x\)。\(C(\emptyset )\) 被称为空范畴,\(C(\{0\})\) 被称为终结范畴。

    • (d) Preordered Classes as Categories(预序类作为范畴):每个预序类,即每对 \((X, \leq )\),其中 \(X\) 是类,\(\leq \) 是 \(X\) 上的自反且传递的关系,给出一个范畴 \(C(X, \leq ) = (O, \text {hom}, \text {id}, \circ )\),其中 \(O = X\),\(\text {hom}(x, y) = \{(x, y)\}\) 如果 \(x \leq y\),否则为 \(\emptyset \),\(\text {id}_x = (x, x)\),且 \((y, z) \circ (x, y) = (x, z)\)。

    • (e) Monoids as Categories(幺半群作为范畴):每个幺半群 \((M, \cdot , e)\),即每个具有单位 \(e\) 的半群 \((M, \cdot )\),给出一个范畴 \(C(M, \cdot , e) = (O, \text {hom}, \text {id}, \circ )\),其中 \(O = \{M\}\),\(\text {hom}(M, M) = M\),\(\text {id}_M = e\),且 \(y \circ x = y \cdot x\)。

    • (f) Product Category(乘积范畴):对于任意两个范畴 \(A\) 和 \(B\),可以构建 \(A \times B\),或更一般地,对于有限多个范畴 \(C_1, C_2, \ldots , C_n\),可以构建 \(C_1 \times C_2 \times \ldots \times C_n\)。\(A \times B\) 的对象是所有集合对 \((A, B)\),从 \((A, B)\) 到 \((A', B')\) 的态射是所有形如 \((f, g)\) 的函数对,其中 \(f: A \to A'\) 且 \(g: B \to B'\)。恒等态射由 \((\text {id}_A, \text {id}_B)\) 给出,而复合由 \((f_2, g_2) \circ (f_1, g_1) = (f_2 \circ f_1, g_2 \circ g_1)\) 定义。