1. 问题:能不能不靠公理推导 1+1=2
一种朴素的尝试
很多人会从直觉出发——把数字看作模板,把加法看作拼接:
- 1 代表「单独一个东西」
- 加法代表「两份东西不重叠地合在一起」
- 2 本身的定义就是「一个再加一个」
这一套论证让人觉得 1+1=2 是直接推出来的,不依赖公理。
循环出在哪里
| 步骤 | 问题 |
|---|---|
| 定义 1 为「所有单件群体的类」 | 怎么判断一个群体是「单件」?这个判断本身就预设了数字 1 的识别能力——你在用 1 定义 1 |
| 定义 2 为「1 套模板 + 另 1 套模板」 | 2 的定义里嵌入了加法操作。用 1+1 定义 2,再去证明 1+1=2,是恒等式重述不是推导 |
| 后继规则中的「新增一个单件」 | 「新增」就是做一次加法。用加法定义后继,再以后继定义加法——循环 |
更根本的问题在于:要构造「所有单件群体的等价类」,你暗中使用了弗雷格 1884 年在《算术基础》里的思路——把数字定义为等势集合的等价类。但这条路在 1902 年被罗素的信戳穿了:没有任何限制的等价类构造会导致悖论(所有不包含自身的集合的集合)。现代 ZFC 公理集合论通过限制分离公理模式来避开,代价是你不能随意谈论「所有单件群体的类」。
这引出一个事实:要定义自然数和加法,你必须接受某些不加证明的原始概念。 皮亚诺的贡献不是发明了 1+1=2,而是找到了一条最小化的路径——只接受三个原始概念:0、后继函数 $S$、归纳公理。
2. 皮亚诺公理的三个原始概念
不需要集合论基础,你只需要公认:
- 零存在:有一个自然数叫 0
- 后继函数 $S$:每个自然数 $n$ 有一个下一个数 $S(n)$。$S(0)$ 叫 1,$S(1)$ 叫 2,以此类推
- 归纳公理(递归定义有效):如果你指定一个起点和一个递推规则,那就存在唯一的一个函数按这个规则走过所有自然数
第三条是关键——它等价于说:对任意起点 $a$ 和规则 $f$,存在唯一的 $h$ 满足:
$$ h(0) = a,\quad h(S(n)) = f(h(n)) $$
你不需要追问「存在唯一为什么成立」——作为公理,接受即可。
定义加法
用归纳公理定义加法。固定 $m$,定义函数 $\text{add}_m$:
$$ \text{add}_m(0) = m,\quad \text{add}_m(S(n)) = S(\text{add}_m(n)) $$
推导 $1+1=2$
$$ \begin{aligned} 1 + 1 &= \text{add}_1(1) = \text{add}_1(S(0)) \ &= S(\text{add}_1(0)) \ &= S(1) = 2 \end{aligned} $$
$1+1 = 2$ 不是一个深刻的事实——它只是一个语法展开:你把 $S(1)$ 叫做 2,把 $\text{add}_1(S(0))$ 展开后恰好等于 $S(1)$。
3. 换一个视角:用关系代替结构
皮亚诺公理在逻辑上够用了。但我们换个角度:能不能不描述数字是什么,只描述数字和其他东西的关系?
这就是范畴论的切入方式。它提出一个概念:万有性质。
什么是万有性质
万有性质的核心是——不拆开看一样东西的内部结构,纯靠它和其他对象的关系来定义它。
类比:
正整数集 ${0, 1, 2, 3, \ldots}$ 里最小的元素是什么?
用万有性质来回答:
存在一个元素 $m$,使得对任意元素 $x$,都有唯一一条路从 $m$ 走到 $x$。
在有序集里,「路」就是 $\le$。$0 \le x$ 对所有 $x$ 成立,所以 $m = 0$。不需要说「0 里面什么都没有」——只需要说「所有 $x$ 都能从它到达」。
自然数对象的万有性质
把这条想法应用到自然数上。一个结构 $N$(带一个起点和一个后继函数)是自然数,当且仅当:
如果给我:
- 一个起点 $a$
- 一个递推规则 $f$(告诉我下一步该干什么)
那就存在唯一的一个映射 $h: N \to \text{某处}$,使得
- $h(\text{起点}) = a$
- $h(\text{后继}) = f(h(\text{前一步}))$
换句话说:$N$ 是唯一一个能让你合法地做递归定义的结构。
这个陈述——递归定义有效——完整地刻画了自然数,而且完全不提自然数的内部长什么样。它只说了自然数和其他结构之间的关系。
在万有性质下推导 $1+1=2$
推导和皮亚诺版本几乎一样。区别在于:归纳公理的合法性来自万有性质,而不是来自一句「公认」。
取 $N$ 的起点为 0,后继为 $S$。递归定义出加法 $\text{add}_m$(和前面一致),然后展开:
$$ 1 + 1 = \text{add}_1(S(0)) = S(\text{add}_1(0)) = S(1) = 2 $$
4. 范畴论到底换来了什么
| 维度 | 皮亚诺公理 | 自然数对象 (NNO) |
|---|---|---|
| $1+1=2$ 的性质 | 定理 | 定理 |
| 原始公理 | 5 条 (Peano 1891) | 1 个万有性质 + 始代数条件 |
| 定义方式 | 描述内部结构 $(0, S(n))$ | 描述外部关系(能递归定义) |
| 集合论依赖 | 不需要 | 需要范畴的存在性 |
| 是否比皮亚诺更「基本」 | — | 否——万有性质量化了归纳公理,不是替代它 |
诚实结论:范畴论没有消除公理需求。它把公理从「关于数字的断言」重构为「关于某个结构和其他结构之间关系的断言」。这会带来表达上的优雅——一个万有性质取代一整组皮亚诺公理——但逻辑承诺没变,仍然不能从纯逻辑推导出 1+1=2。
5. 为什么皮亚诺选的那三条是最优的
回头看,任何「推导 1+1=2」的尝试必然会遇到循环:
- 如果 2 的定义里含了加法(比如用后继),则必须解释后继
- 如果后继的解释里含了加法(比如「新增一个」),则加法未定义
- 如果加法用递归定义,则必须接受归纳公理
- 如果不接受归纳公理,则无法从有限个 $1+1$ 的案例推广到全部自然数
皮亚诺真正的发现是:后继函数、归纳公理、万有性质——这些不是我们为了方便推导算术而选用的工具,而是现实的本体。万物可以区分、可以计数、可以依序展开,根本原因在于存在本身就有这样一层递归结构。后继不是人类发明的规则——它是存在的基本语法。
以此为出发点,范畴论的价值不在于「绕开公理的承认」,而在于用最少的语汇把这种本体结构说清楚。