对象是关系的总和吗:从 Hahn-Banach 到 Yoneda
一、一个人看不见自己
泛函分析里有一条定理,叫 Hahn-Banach。它的标准表述技术性很强,但有一个推论几乎可以当寓言讲:
在赋范空间里,一个点被它和所有连续线性泛函的配对完全决定。
用符号写:对任意 $x \in X$,
$x = 0 \quad\Longleftrightarrow\quad f(x) = 0 \ \text{对所有} \ f \in X^*$
反过来说:只要有一个 $f$ 能"测"出 $x$ 身上的某个非零数,$x$ 就不是零。
这意味着什么?
一个人不知道自己是谁。但所有外部探测的结果加起来,把他完全定住了。他没有一个藏在探测之外的"真我"——至少,那个真我无法被任何探测区分出来,因此在这里不存在。
这是"对象由关系决定"的第一个版本。它来自分析,不来自哲学。
二、数学里有个更强的版本
范畴论里有一条引理,叫 Yoneda。它说的是同一件事,但强得多。
先把话说明白。给定一个范畴 $\mathcal{C}$,一个对象 $A$,可以把 $A$ 的"外部关系网"打成一个函子:
$h^A := \mathcal{C}(A, -) \colon \mathcal{C} \to \mathbf{Set}$
它对每个对象 $X$ 给出从 $A$ 到 $X$ 的所有态射,对每个态射给出"接在后面"的操作。
Yoneda 引理说:对这个函子的所有自然变换,和 $A$ 的"外部关系"之间,有一个一一对应——
$\mathrm{Nat}(h^A, F) \;\cong\; F(A)$
取 $F = h^B$,就得到:
$\mathrm{Nat}(h^A, h^B) \;\cong\; h^B(A) = \mathcal{C}(B, A)$
左边是"两个对象的外部关系网之间的所有保结构映射",右边是"从 $B$ 到 $A$ 的所有态射"。
两边一样多。一个不多,一个不少。
这不是引用,这是可以数的
抽象的话说到这儿容易飘,所以把它数一遍。
取最省事的范畴:只有一个对象 $\ast$,从它到自己的态射构成群 $M = \mathbb{Z}/3$。
那么 $h^\ast$ 就是:唯一对象映到 $M$ 本身,态射映到左乘。
取另一个函子 $F$:唯一对象映到 $\mathbb{Z}/3$,态射映到加法作用 $m \cdot x = m + x$。
Yoneda 说 $\mathrm{Nat}(h^\ast, F) \cong F(\ast) = \mathbb{Z}/3$,也就是恰好 3 个自然变换。
我们把所有可能的映射 $\alpha \colon M \to \mathbb{Z}/3$ 全枚举一遍($3^3 = 27$ 个),逐个检查自然性条件 $\alpha(m+g) = m + \alpha(g)$。
结果:恰好 3 个符合。
| $\alpha(0)$ | 对应的自然变换 | 个数 |
|---|---|---|
| 0 | $\alpha(x) = x$ | 1 |
| 1 | $\alpha(x) = x+1$ | 1 |
| 2 | $\alpha(x) = x+2$ | 1 |
而且每一个 $\alpha(0)$ 的取值,唯一确定整个 $\alpha$。
这就是 Yoneda 的实质:一个自然变换被它在一个点上的取值完全钉死。那个点就是 $\mathrm{id}_A$。
再说得直白些:你想知道 $A$ 的全部,只要看 $\mathrm{id}_A$ 在所有自然变换下被送到哪里。
三、但它们不是一回事
到这里很容易顺口说一句"所以对象就是关系的总和"。先别急。这两个定理的强度差得很远。
| Hahn-Banach 推论 | Yoneda 引理 | |
|---|---|---|
| 保证什么 | 点可由泛函分离 | 对象由函子完全决定 |
| 映射的性质 | $X \to X^{**}$ 等距嵌入,未必满 | 满且忠实,无条件成立 |
| 何时失效 | 非自反空间里 $X \ne X^{**}$ | 不存在反例 |
| 需要什么前提 | 赋范空间 + 选择公理 | 只要是个范畴 |
差别在"分离"与"决定"之间。
Hahn-Banach 只说:不同的点能被某个泛函区分开。它没有说:所有泛函的取值组合,能反过来把点重构出来。
后者要求 $X \to X^{**}$ 是满射——那是自反,而自反不是免费的。存在大量非自反的 Banach 空间($c_0$、$L^1$、$C(K)$ 的一般情形),在那里"由泛函完全决定"是错的。
Yoneda 不需要这种条件。它对任何范畴、任何对象都成立,一字不改。
所以正确的说法是:
Hahn-Banach 给了这件事一个影子;Yoneda 给了它本体。
把两者当成同一条定理的两个版本,是常见的过度统一。格式同型不等于等价——这一步不划清,后面所有推论都会跟着虚。
四、最容易夸大的地方
现在说一句我自己栽过的话。
"对象是关系的总和"——这句话听起来像是在说:存在一些关系,它们不属于任何对象。
去年我按这个思路构造了一个函子 $G$,它不可表,于是我说:看,有不属于任何对象的关系。
后来把它算清楚了。在一只含三个对象的小范畴里($A \to B \to C$),取
$G := h^A \sqcup h^B$
它的取值是:
| 对象 | $G$ 的取值 | 元素个数 |
|---|---|---|
| $A$ | $\{\mathrm{id}_A\}$ | 1 |
| $B$ | $\{f, \mathrm{id}_B\}$ | 2 |
| $C$ | $\{g, gf\}$ | 2 |
然后去试:有没有对象 $X$ 使 $h^X \cong G$?
| 候选 $X$ | $\lvert h^X(A)\rvert, \lvert h^X(B)\rvert, \lvert h^X(C)\rvert$ | 与 $G$ 比 |
|---|---|---|
| $A$ | 1, 1, 1 | 不符 |
| $B$ | 0, 1, 1 | 不符 |
| $C$ | 0, 0, 1 | 不符 |
没有一个匹配。$G$ 确实不可表。
但我忘了一件事:$G$ 按定义就是两个可表函子的余积。
"不可表"不等于"不属于任何对象的关系"。它是两个可表者拼起来的东西。
这就是密度定理说的事:
$F \;\cong\; \mathrm{colim}\big(h^A \to F\big)$
每一个函子,都是可表函子的余极限。
没有一个函子是彻底"野"的。那些看起来不属于任何对象的关系,拆到最基层,全是由可表者拼出来的。
教训:只验了"不可表",没验"不可表者是否仍由可表者生成"。否定一个东西的性质,不等于肯定它的对立面。
五、所以这句话该怎么读
现在可以把"对象是关系的总和"拆成两种读法:
| 读法 | 说什么 | 判定 |
|---|---|---|
| 本体论 | 对象的构成就是关系,关系是第一性的实体 | 过度。Yoneda 不支持这个 |
| 认识论 | 对象在关系网里没有任何剩余:两个对象若关系网同构,就无法区分 | 准确。这正是 Yoneda |
差别在于:前者说世界是什么,后者说我们能知道什么。
而 Yoneda 说的是后者。它是一条方法:
想知道 $A$ 是什么,看 $\mathcal{C}(A, -)$ 就够了。
它不是一条禁令:
不许 $A$ 有别的东西。
这两句完全不同。第一句是"够用",第二句是"只有"。
我上学期把它们混了,才说出了那句过头的话。
六、回到自由
上期的结语落在「边界」两个字上:知道了边界在哪,才知道该在边界内怎么设计规则。
这一期说的是另一种边界——不是规则的边界,是对象本身的边界:一个对象能被什么探测到,就决定了它是什么。
答案是:你以为你在定义对象,其实是关系在定义它。
你选了一组公理,以为这是自由;但公理一旦选定,结论就被逼出来了。你定义了一个对象,以为这是创造;但对象能被什么探测到,就决定了它是什么(这一期)。
但请注意:Yoneda 是定理,不是命令。
它说的是"如果你想知道 $A$ 是什么,看关系网就够了"——它没有取消 $A$,它只是告诉你 $A$ 的全部在哪。
就像一个人:他的全部可以被他人的探测完全决定,但这并不等于他没有内心。它只是说明——那个内心如果永远无法被任何探测触及,那它在关系世界里就是不存在的。
你没失去自由。你只是知道了自由必须落在关系上才成立。
三个小自测
1. 为什么 Hahn-Banach 的推论要求"取遍 $X^*$",而不能只取有限个泛函?
因为有限个泛函的公共零点集一般是一个正余维的子空间。要不漏掉任何一个非零向量,必须让这一族泛函足够大——$X^*$ 全体刚好够。
2. Yoneda 里那个"一个点"是哪个点?为什么是它?
是 $\mathrm{id}_A \in \mathcal{C}(A,A)$。因为它是唯一一个"不需要任何外部信息就能指认"的元素:它是 $A$ 到自己的恒等。所有自然变换的信息,都被这一个点承载。
3. 你说"不可表函子仍是可表者的余极限",那"可表"这个性质还有什么用?
它区分了"由一个对象完全代表"和"由一族对象拼出来"。前者能让你指着一个具体的 $A$ 说话,后者不能。能不能指认,和存不存在,是两件事。
最后一句
这一期讲的是一个否定,但否定得很温和。
它没有说对象是虚构的,只说:对象的所有可说的部分,都在它的关系里。
而"所有可说的部分"这个限定,恰恰是自由的入口——因为不可说的部分,正是留给创造的地方。
顺着这条路再走一步,会撞见另一件事:数学长出了一门专门谈论自己的语言。它不说"这个对象是什么",只说"它跟别的对象怎么连"。