CATEGORY THEORY · INTERACTIVE

用图解丈量抽象结构

通过可交互的 SVG 图解,把范畴论中最核心的八个概念从符号还原为可看、可点、可玩的几何对象——从对象与态射,一路走到单子与纤维化。

8 个交互模块 纯 HTML/CSS/JS 零依赖 SVG 矢量图解
01 · CATEGORY & MORPHISM

范畴与态射

范畴由对象与对象间的态射构成。态射可以复合,每个对象带有恒等态射——这是所有结构的起点。

态射 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
对象A · B · C
态射f, g, g∘f
复合律结合 ✓
恒等律id_A · id_B · id_C
02 · FUNCTOR

函子

函子是范畴之间的映射:把对象映到对象、态射映到态射,并保持复合与恒等。协变保持方向,逆变反转方向。

函子 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)
映射C → D
保持复合✓
保持恒等✓
变体协变 / 逆变
03 · NATURAL TRANSFORMATION

自然变换

自然变换是函子之间的态射:为每个对象提供一个分量,并要求 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)
  • 自然性方块可交换
函子F, G : C → D
分量α_A · α_B
自然性方块交换 ✓
记号α : F ⇒ G
04 · PRODUCT & COPRODUCT

积与余积

积是“与”类型,余积是“或”类型。二者由泛性质定义,互为对偶。

积 A×B 带投影 π₁, π₂,是“最通用”的配对对象。余积 A+B 带注入 i₁, i₂,是其对偶。在 Set 中,积是笛卡尔积,余积是不交并。

  • 积:π₁ : A×B → A,π₂ : A×B → B
  • 余积:i₁ : A → A+B,i₂ : B → A+B
积A × B
余积A + B
对偶互为对偶
Set 实例笛卡尔积 / 不交并
05 · LIMIT & COLIMIT

极限与余极限

极限刻画“相容子对象”:拉回、等化子是典型的极限;推出是其对偶的余极限。

拉回是沿公共目标的纤维积 A ×_C B;等化子是使两平行态射相等的子对象;推出是拉回的对偶。它们都由泛性质唯一确定(至多相差一个同构)。

  • 拉回:P → A, P → B 使方块交换
  • 等化子:e : E → A 使 f∘e = g∘e
极限拉回 · 等化子
余极限推出
定义方式泛性质
唯一性至多差同构
06 · ADJUNCTION

伴随

伴随 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
伴随F ⊣ G
单位η : Id ⇒ GF
余单位ε : FG ⇒ Id
Hom 同构✓ 自然
07 · MONAD

单子

单子 (T, η, μ) 由自函子、单位与乘法构成,满足三条定律——它是计算效应的范畴论骨架。

单子 (T, η, μ):自函子 T + 单位 η + 乘法 μ

单子是自函子 T: C → C 配上单位 η: Id ⇒ T(return)与乘法 μ: T² ⇒ T(join / bind)。三条定律保证嵌套结构可被一致地压平。

  • 左单位:μ ∘ Tη = id
  • 右单位:μ ∘ ηT = id
  • 结合:μ ∘ Tμ = μ ∘ μT
自函子T : C → C
单位η : Id ⇒ T
乘法μ : T² ⇒ T
定律3 条 ✓
08 · TOPOLOGY & FIBRATION

拓扑与纤维

纤维化 p: E → B 把全空间投影到底空间;每个底点 b 上方挂着一个纤维 p⁻¹(b)——这是依赖类型族的几何原型。

移动底点 b:

投影 p: E → B 将全空间 E 映到底空间 B。纤维 p⁻¹(b) 是 E 中所有映到 b 的点。当纤维随底点连续变化时,便得到一个“空间族”。

  • 纤维:p⁻¹(b) = { e ∈ E | p(e) = b }
  • 纤维化是依赖类型族的几何模型
投影p : E → B
全空间E
底空间B
纤维p⁻¹(b)