用图解丈量抽象结构
通过可交互的 SVG 图解,把范畴论中最核心的八个概念从符号还原为可看、可点、可玩的几何对象——从对象与态射,一路走到单子与纤维化。
范畴与态射
范畴由对象与对象间的态射构成。态射可以复合,每个对象带有恒等态射——这是所有结构的起点。
态射 f: A → B 连接两个对象。给定 g: B → C,可复合为 g∘f: A → C。每个对象 A 都有恒等态射 id_A: A → A。
- 复合满足结合律:
h∘(g∘f) = (h∘g)∘f - 恒等律:
id_B∘f = f且f∘id_A = f
函子
函子是范畴之间的映射:把对象映到对象、态射映到态射,并保持复合与恒等。协变保持方向,逆变反转方向。
函子 F: C → D 满足 F(g∘f) = F(g)∘F(f) 且 F(id_A) = id_{F(A)}。协变函子保持态射方向;逆变函子反转方向,即 F(f: A→B): F(B)→F(A)。在 Set 范畴中,对象是集合,态射是函数。
- 协变:
F(A→B) = F(A)→F(B) - 逆变:
F(A→B) = F(B)→F(A)
自然变换
自然变换是函子之间的态射:为每个对象提供一个分量,并要求 naturality 方块可交换。
对于平行函子 F, G: C → D,自然变换 α: F ⇒ G 为每个对象 A 给出分量 α_A: F(A) → G(A),且对任意 f: A → B 满足自然性:G(f)∘α_A = α_B∘F(f)。
- 分量:
α_A : F(A) → G(A) - 自然性方块可交换
积与余积
积是“与”类型,余积是“或”类型。二者由泛性质定义,互为对偶。
积 A×B 带投影 π₁, π₂,是“最通用”的配对对象。余积 A+B 带注入 i₁, i₂,是其对偶。在 Set 中,积是笛卡尔积,余积是不交并。
- 积:
π₁ : A×B → A,π₂ : A×B → B - 余积:
i₁ : A → A+B,i₂ : B → A+B
极限与余极限
极限刻画“相容子对象”:拉回、等化子是典型的极限;推出是其对偶的余极限。
拉回是沿公共目标的纤维积 A ×_C B;等化子是使两平行态射相等的子对象;推出是拉回的对偶。它们都由泛性质唯一确定(至多相差一个同构)。
- 拉回:
P → A, P → B使方块交换 - 等化子:
e : E → A使f∘e = g∘e
伴随
伴随 F ⊣ G 是范畴论中最强大的统一概念:左伴随 F 与右伴随 G 通过 Hom 集合的自然同构相连。
伴随 F ⊣ G(F: C → D 左伴随,G: D → C 右伴随)的核心是自然同构 Hom_D(FX, Y) ≅ Hom_C(X, GY)。它产生单位 η: Id_C ⇒ GF 与余单位 ε: FG ⇒ Id_D,满足三角恒等式。
- 自由–遗忘伴随是经典例子
- 每个伴随都生成一个单子
GF
单子
单子 (T, η, μ) 由自函子、单位与乘法构成,满足三条定律——它是计算效应的范畴论骨架。
单子是自函子 T: C → C 配上单位 η: Id ⇒ T(return)与乘法 μ: T² ⇒ T(join / bind)。三条定律保证嵌套结构可被一致地压平。
- 左单位:
μ ∘ Tη = id - 右单位:
μ ∘ ηT = id - 结合:
μ ∘ Tμ = μ ∘ μT
拓扑与纤维
纤维化 p: E → B 把全空间投影到底空间;每个底点 b 上方挂着一个纤维 p⁻¹(b)——这是依赖类型族的几何原型。
投影 p: E → B 将全空间 E 映到底空间 B。纤维 p⁻¹(b) 是 E 中所有映到 b 的点。当纤维随底点连续变化时,便得到一个“空间族”。
- 纤维:
p⁻¹(b) = { e ∈ E | p(e) = b } - 纤维化是依赖类型族的几何模型