范畴的定义

范畴、函子

  • 范畴的组成部分
    • (对象)全体对象可能不再是一个集合,而是一个类
    • (态射)类似于集合的映射f:A \to B
    • (复合)类似于映射的复合gf,满足结合律
    • (恒等)类似于恒等映射,fid_A = fid_Bf = f
  • 函子既作用于对象,也作用于态射,并且保持复合、恒等
    • (对象)A \mapsto F(A)
    • (态射)(f: A \to B) \mapsto (F(f): F(A) \to F(B))
    • (复合)F(gf) = F(g)F(f)
    • (恒等)F(id_A) = id_{F(A)}
  • 一般的范畴\mathcal{C},需要定义对象、态射,剩下的复合、恒等应该是态射的性质
    • 对象记为obj(\mathcal{C})
    • 态射记为Hom_{\mathcal{C}}(A, B)AB \in obj(\mathcal{C})
    • 通常,对象不是集合,但是态射是集合,此时\mathcal{C}称为局部小范畴。在其他情形下,如果二者都是(或者都不是)集合,那么\mathcal{C}称为小范畴(或者大范畴)
  • 如果将对象视为顶点,将态射视为有向边(箭头),那么范畴可以用有向图来描述
    • 范畴通常只依赖于有向图的结构,而与对象、态射的具体内容无关。比如,有向图经过的路径,对应于态射的复合;如果两条路径的起点、终点相同,那么态射的复合相等,这构成一个交换图表
    • 如果范畴\mathcal{C}的有向图顶点不变,箭头反向,那么可以得到反范畴\mathcal{C}^{op}。比如,链复形范畴的反范畴为上链复形范畴
    • 我们可以不断将箭头提升至高阶,比如
      • (0阶)对象的箭头为态射f: A \to B,它对应于映射
      • (1阶)态射的箭头为函子F: f \to g,它对应于算子
      • (2阶)函子的箭头为自然变换\tau: F \to G,它对应于算子之间的变换
    • 因为有向图可以视为单纯复形,所以在高等范畴论中,我们也可以从单纯复形的视角来研究范畴

万有性质

  • 集合论和范畴论
    • 在集合论中,我们可以取集合的元素,然后定义新的集合
    • 在范畴论中,我们只能取对象、态射,所以需要用万有性质来定义新的对象
  • 范畴论和编程语言
    • 在范畴论中,我们不能对元素进行操作;就像在编程语言中,我们不能对逻辑门进行操作
    • 范畴论提供了一层抽象封装,使得我们可以考虑高层次结构;就像编程语言提供了一层抽象封装,使得我们可以考虑高层次算法
  • 正向极限(Direct Limit)、反向极限(Inverse Limit)
    • 从不动点定理到编程语言中,我们有上确界、下确界,它们可以用万有性质来定义
      • 上确界既是上界,也是最小的上界
        • 对任意上界y,我们有x_1 \leq x_2 \leq \cdots \leq \sup x_i \leq y
      • 下确界既是下界,也是最大的下界
        • 对任意下界y,我们有y \leq \inf x_i \leq \cdots \leq x_2 \leq x_1
    • 因此,万有性质既要求定义的对象满足条件,也要求它具有最特殊的性质。由于后者需要用“任意对象”来叙述,故这种性质是“万有的(Universal)”
      • 类似地,对任意物体,我们有Newton的万有引力定律(Newton’s Law of Universal Gravitation)
    • 如果将偏序关系(\leq)更换为范畴中的箭头(\rightarrow),那么上确界可以定义为递增序列的正向极限,下确界可以定义为递减序列的反向极限
      • (上确界,正向极限)对任意上界Y,我们有

            \[ \xymatrix@C=1.4em{X_1 \ar[r] & X_2 \ar[r] & \cdots \ar[r] & \underset{\longrightarrow}{\lim} X_i \ar[r] & Y.} \]

      • (下确界,反向极限)对任意下界Y,我们有

            \[ \xymatrix@C=1.4em{Y \ar[r] & \underset{\longleftarrow}{\lim} X_i \ar[r] & \cdots \ar[r] & X_2 \ar[r] & X_1.} \]

    • 因为正向极限、反向极限分别对应于入射(Injection)、投射(Projection),所以它们也叫做入射极限(Injective Limit)、投射极限(Projective Limit)
      • 类似地,在同调代数中,我们需要用入射消解(Injective Resolution)、投射消解(Projective Resolution)来定义导出函子

对偶

  • 正向极限(入射极限)、反向极限(投射极限)是在偏序关系的图表下定义的对象,余极限(Colimit)、极限(Limit)是在一般的图表下定义的对象。因为它们的箭头是相反的,所以这一现象称为对偶(Duality)
    • 正向、入射 –> 余极限
    • 反向、投射 –> 极限
  • 始对象(Initial Object)、终对象(Final Object)
    • (余极限)对于空图表(没有对象,没有态射)

          \[ \emptyset \]

      始对象定义为

          \[ \xymatrix@C=1.4em{ \ar[r] & Initial \ar[r] & Y } \]

    • (极限)对于空图表(没有对象,没有态射)

          \[ \emptyset \]

      终对象定义为

          \[ \xymatrix@C=1.4em{ Y \ar[r] & Final \ar[r] & } \]

  • 余乘积(Coproduct)、乘积(Product)
    • (余极限)对于离散图表(有对象,没有态射)

          \[ X_\alpha, \text{ for any } \alpha \in \mathscr{A} \]

      余乘积定义为

          \[ \xymatrix@C=1.4em{ X_\alpha \ar[r] & \coprod_{\alpha \in \mathscr{A}} X_\alpha \ar[r] & Y } \]

    • (极限)对于离散图表(有对象,没有态射)

          \[ X_\alpha, \text{ for any } \alpha \in \mathscr{A} \]

      乘积定义为

          \[ \xymatrix@C=1.4em{ Y \ar[r] & \prod_{\alpha \in \mathscr{A}} X_\alpha \ar[r] & X_\alpha } \]

  • 推出(Pushout)、拉回(Pullback)
    • (余极限)对于如下图表(有对象,有态射)

          \[ \xymatrix{ A \ar[r] \ar[d] & X_2 \\ X_1 & } \]

      推出定义为

          \[ \xymatrix{ A \ar[r] \ar[d] & X_2 \ar[d] \ar[ddr] & \\ X_1 \ar[r] \ar[drr] & X_1 \cup_A X_2 \ar[dr] & \\ & & Y } \]

      这里,我们省略了A \to X_1 \cup_A X_2A \to Y,它们可以由交换图表中态射的复合得到
    • (极限)对于如下图表(有对象,有态射)

          \[ \xymatrix{ & X_2 \ar[d] \\ X_1 \ar[r] & A } \]


          \[ \xymatrix{ Y \ar[drr] \ar[ddr] \ar[dr] & & \\ & X_1 \times_A X_2 \ar[r] \ar[d] & X_2 \ar[d] \\ & X_1 \ar[r] & A } \]

      这里,我们省略了Y \to AX_1 \times_A X_2 \to A,它们可以由交换图表中态射的复合得到

集合论中的对象

  • 在上面的定义中,名称、记号源于集合论
  • 集合论和类型论
    • 在集合论中,我们有不交并\coprod、Descartes积\prod
    • 在类型论中,我们有并集(|)、乘积(*)