从范畴论角度看待皮亚诺公理

发布于 — 2026 年 07 月 16 日

1+1=2 为什么必须依赖公理?从直觉推导的循环、弗雷格的失败、到用万有性质代替内部描述——范畴论没有绕开公理,但给了它一个更干净的接口。

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. 皮亚诺公理的三个原始概念

不需要集合论基础,你只需要公认:

  1. 零存在:有一个自然数叫 0
  2. 后继函数 $S$:每个自然数 $n$ 有一个下一个数 $S(n)$。$S(0)$ 叫 1,$S(1)$ 叫 2,以此类推
  3. 归纳公理(递归定义有效):如果你指定一个起点和一个递推规则,那就存在唯一的一个函数按这个规则走过所有自然数

第三条是关键——它等价于说:对任意起点 $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」的尝试必然会遇到循环:

  1. 如果 2 的定义里含了加法(比如用后继),则必须解释后继
  2. 如果后继的解释里含了加法(比如「新增一个」),则加法未定义
  3. 如果加法用递归定义,则必须接受归纳公理
  4. 如果不接受归纳公理,则无法从有限个 $1+1$ 的案例推广到全部自然数

皮亚诺真正的发现是:后继函数、归纳公理、万有性质——这些不是我们为了方便推导算术而选用的工具,而是现实的本体。万物可以区分、可以计数、可以依序展开,根本原因在于存在本身就有这样一层递归结构。后继不是人类发明的规则——它是存在的基本语法。

以此为出发点,范畴论的价值不在于「绕开公理的承认」,而在于用最少的语汇把这种本体结构说清楚。