「同一」不是属性,是函子——为什么「这两个理论是不是同一个」在没指定结构时是未定义的
【锚点】这一篇只钉一个判断:「A 和 B 是同一个」不是一个命题,是一个函子。 不指定「保留什么结构」,「同一」既不真也不假,是未定义。
【显式】先给一个干净的反例,它每天都在数学里发生。
设 k 是域。Mat_k 是以自然数为对象、以 k 上矩阵为态射的范畴(复合 = 矩阵乘法)。Vect_fd(k) 是有限维 k-向量空间与线性映射的范畴。两者等价,但不同构。
为什么不同构:Mat_k 的对象是可数的 ℕ,Vect_fd(k) 的对象是真类,对象层面根本不存在双射,所以范畴同构(要求对象双射 + hom 双射)不可能。为什么等价:取 F: Mat_k → Vect_fd(k),n ↦ kⁿ,矩阵 ↦ 它表示的映射。F 全忠实(每个矩阵恰好对应一个线性映射)且本质满(每个有限维空间同构于某个 kⁿ)。这就是等价。
注意 F 做了什么:它没有选基。而任何试图把它修成同构的人,都必须为每一个有限维空间同时选一组基——那是一个非典范的选择,换一组基就换一个「同构」。等价是典范的,同构不是。这句话是整篇的引擎。
【隐式】Stone 对偶是这条原理最强的形式,也是最容易被讲错的形式。
命题逻辑 ≃ 布尔代数^op ≃ Stone 空间。
三个学科——证明论、代数、拓扑——是同一个范畴的三张脸。但请数一下 op:这是反范畴等价,不是等价。方向反了。所以「逻辑学与拓扑学是同一门学科」这句话,严格写出来必须带那个 op;少写一个 op,整句话从定理变成错误。学园里那些「我们其实在说同一件事」的跨领域宣言,绝大多数缺的正是这个 op。
【细微】由此得到一条判据:只有在一个范畴的等价下不变的性质,才是这个范畴的性质。 HoTT 社区把违反这条的提问叫 evil。「C 是否同构于 D」就是一个 evil 问题——因为等价可以连接一个小范畴和一个大范畴:FinSet ≃ 它的骨架 Sk(对象 = ℕ),但 Sk 可数、FinSet 的对象是真类。等价保「本质小」,不保「小」。所以拿基数去反驳等价,是在用一个不被保持的不变量。
【隐式】这条判据直接改写科学哲学里的「理论同一性」问题。
经典问法:温度是不是分子平均动能?范畴论者的改写是:热力学范畴与统计力学范畴之间,存在哪个函子,它是不是等价?
于是「还原」不再是「A 等于 B」,而是「存在保结构的 F: C₁ → C₂,且 F 与共享底层 S 的遗忘函子交换」。「不还原」也不再是「A 不等于 B」,而是「不存在这样的 F」,或者更常见也更诚实的第三种:存在,但只忠实不全——F 保住了复合,丢掉了张量积、丢掉了某个对称性。第三种才是大多数真实还原的样子,而它在「是/不是同一个」的二值语法里根本无法表达。
【细微】历史原型:Klein 的 Erlangen 纲领。几何的分类不是按公理,是按群。欧氏几何 ↔ 等距群,仿射几何 ↔ 仿射群,射影几何 ↔ 射影群。「这两条命题是同一个定理吗?」——在射影群下是,在等距群下不是。同一个问句,两个正确答案,因为问句缺了参数。Klein 在 1872 年就把「同一性是相对的」变成了可计算的。
【极难发现】盲点在这里:等价关系在换结构时不传递,而跨学科争论几乎总是在偷偷换结构。
作为群同构的 A ≅ B,作为集合也同构;反过来不成立。更麻烦的是「等价」这个词本身有层数:一旦你把 C₁ 放进带张量积的 2-范畴、把 C₂ 放进不带的,你就不能再用同一个「等价」——你需要 2-函子、伪函子、lax 函子,而 lax 与 pseudo 给出的答案可以不同。所以「A 和 B 是同一个」在跨领域使用时,几乎总在悄悄更换 2-范畴。学科争论最常见的失配不是事实分歧,是结构层数分歧:两边都在说「同一个」,但一个在 1-层说,一个在 2-层说。
【流程节点链路】把它变成可执行协议:
起点:两个理论 T₁、T₂,各自给出范畴 C₁、C₂(对象 = 状态/模型,态射 = 保结构映射) → 中间节点 1:指定共享底层 S 与遗忘函子 U₁: C₁ → S、U₂: C₂ → S(S 可以是集合、希尔伯特空间、或「观测记录」) → 中间节点 2:构造候选 F: C₁ → C₂,验证它与 U 交换:U₂∘F ≅ U₁ → 中间节点 3:验证 F 是等价(找 G 并给出两个自然同构;或证 F 全忠实且本质满) → 中间节点 4:若 F 忠实而不全,逐条记录丢失的态射——这就是「部分还原」的精确内容 终点:一个可被反驳的断言:「T₁ 与 T₂ 在 U 下等价」,或「不等价,见证是不被 F 保持的态射 m」
这条链的价值在于:它把「我们说的是同一件事」从修辞变成一个有证伪条件的声明。任何一步给不出,那句话就还没说完整。
【可辩论】如果理论同一性是等价而非等同,那么「同一个理论」不满足莱布尼茨律:等价但不同构的两个范畴,对象基数可以不同(FinSet vs Sk)。这是否意味着科学实在论必须放弃「理论作为对象」,改用「理论作为结构」?还是反过来——把「同构」也降级为某个更高 2-范畴里的等价,让「同一」永远只是相对的?我倾向后者,但那意味着「同一个理论」永远需要一个隐含的层数下标,而这个下标从来没人写下来。






0 Comments