哥德尔不完备定理的实例——古德斯坦定理与集合的序数

哥德尔不完备定理的实例——古德斯坦定理与集合的序数

我在之前的文章中介绍过哥德尔不完备定理(遥远地方剑星:哥德尔不完备定理到底说了些什么),也介绍过集合的基数(遥远地方剑星:无穷与对应——集合的基数),今天要说的事和这两篇文章都有关系。哥德尔不完备定理告诉我们,一个蕴涵了皮亚诺公理(或者说能够定义自然数)的、无矛盾的公理体系一定是不完备的。那么哥德尔不完备定理存在具有直接含义的实例吗?是的,存在!本文介绍的古德斯坦定理就是哥德尔不完备定理的一个活生生的例子。

一、哥德尔不完备定理有具体含义的实例

哥德尔不完备定理告诉我们,任何一个蕴涵了皮亚诺公理的公理体系如果是一致的(无矛盾的),那么它一定是不完备的(存在可以在这个公理体系内描述的命题却无法在这个公理体系内被证明或证伪)。哥德尔的证明虽然是构造性的,但是他所构造的命题只是在逻辑上成立,而我们人类无法从他构造的命题中看出任何可被赋予的、直接的含义来。如果能够找到一个具有直接含义的、能够在某个公理体系内描述的命题,却无法在这个公理体系内得到证明或者证伪,那么一定挺让人吃惊的。

1、古德斯坦定理(Goodstein's theorem)

古德斯坦定理,这是一个听上去挺怪的名字,同样它的内容也有点怪,但是其含义却是十分清楚的,具有小学高年级知识的孩子一般也能看懂。我们按照如下步骤来描述古德斯坦定理的内容和结论:
(1)随便给出一个自然数,比如本文题图中的那个数——111,设为 M_1
(2)把 M_1 表示成以2为底数的各个幂的和,也就是表示为二进制的形式;然后把所有的大于2的指数也表示成二进制的形式;如果指数上的指数还有大于2的,也将其表示为二进制的形式,以此类推,直到出现的所有数都小于等于2;
\begin{align*} M_1&=2^6+2^5+2^3+2^2+2+1\\ &=2^{2^2+2}+2^{2^2+1}+2^{2+1}+2^2+2+1 \end{align*}
(3)把(2)里面表达形式中的数字2替换为3,然后把得到的新的数再减去1,得到 M_2
\begin{align*} M_2&=3^{3^3+3}+3^{3^3+1}+3^{3+1}+3^3+3+1-1\\ &=3^{3^3+3}+3^{3^3+1}+3^{3+1}+3^3+3 \end{align*}
(4)再把得到的 M_2 表示成以3为底数的各个幂的和,也就是表示为三进制的形式;然后把所有大于3的指数也表示成三进制的形式;以此类推,直到出现的所有数都小于等于3;
(5)把(4)中的表达形式中的数字3替换为4,然后把得到的新的数再减去1,得到 M_3
\begin{align*} M_3&=4^{4^4+4}+4^{4^4+1}+4^{4+1}+4^4+4-1\\ &=4^{4^4+4}+4^{4^4+1}+4^{4+1}+4^4+3 \end{align*}
(6)一直按照这种模式做下去......,得到的数列 \{M_1,M_2,M_3,......\} 被称为以 M_1 为初始值的古德斯坦数列;
(7)古德斯坦定理预言,无论初始值是哪个自然数,古德斯坦数列都会在有限步之后收敛到 0

图1 以 111 为初始值,给出了古德斯坦数列的前几项。

图1 初始值为111的古德斯坦数列的前四项

从图1中可以看到,以 111 为初始值的古德斯坦数列的第三项已经相当巨大,第四项更是大到不可想象。我们常常把巨大的数字称为天文数字,可是图1中后两项数值已经远超天文数字了。比如,以秒为单位记录的宇宙的年龄也不过是 4.3\times 10^{17} 秒,以米为单位记录的可观测宇宙的直径也不过是 8.5\times 10^{26} 米,这两个天文数字与图1中的第三项、第四项比起来根本不可同日而语。可想而知古德斯坦数列增长速度之快。

古德斯坦数列增长快其实是很容易理解的。指数函数本来增长就快,古德斯坦数列把底数、指数上的底数、指数的指数上的底数、......、以及最后的指数都增大了1,那么得到的新数当然比原来大出非常多倍啦。难以理解的反而是古德斯坦定理的结论,在有限步之后古德斯坦数列都会收敛到0 。因为唯一使古德斯坦数列减小的因素就是在增大了非常大的倍数之后,减少了一个“1”,这个因素同前面那个使数列增大的因素比起来,简直太微不足道了。

2、古德斯坦定理在皮亚诺公理体系中无法证明或证伪

当然,古德斯坦定理既然都被叫做“定理”了,结论必然是正确的,后面我们在介绍了集合的序数有关的知识之后,是可以给出证明的。这里先要介绍的是,这个定理正是一个可以在皮亚诺公理体系中描述的、有具体含义的、但是又无法在皮亚诺公理体系内证明或证伪的命题。

皮亚诺公理体系的基础公理并不多,这个公理体系是用来定义、描述自然数的。它的五条公理如下:
(I)0是自然数;
(II)每个自然数n都存在一个后继数 n^+ ,并且这个后继数也是一个自然数;
(III)任何自然数的后继数都不是0;
(IV)如果两个自然数的后继数相等,那么这两个自然数相等;
(V)如果一个性质对于自然数0成立,且若这个性质对于某个自然数n成立则它对n的后继数也成立,那么这个性质对全体自然数成立。【这条被称为归纳公理,是为了避免把0.3这样的数引入进自然数,这个公理也是数学归纳法成立的基础】

公理是不证自明的命题,因此很多公理看起来都像是废话。皮亚诺公理虽然只有5条,但是可以在此基础上完成对自然数体系的构建。古德斯坦定理的全部内容都是在自然数框架内的,因此完全可以在皮亚诺公理体系内描述。

虽然古德斯坦定理可以在皮亚诺公理体系里描述,但在1982年,Lauric Kirby和Jeff Paris发现这个定理在皮亚诺公理体系内是不可证明的,当然也不可证伪。在皮亚诺公理体系内,古德斯坦定理是一个说不清楚对错的命题。于是,古德斯坦定理成为了一个典型的哥德尔不完备定理的例证!

其实,如果我们认真观察,会发现一些蛛丝马迹能够使得我们相信古德斯坦数列收敛到0 。比如,我们可以给古德斯坦数列中的每个数定义一个“层数”的概念,表示这个数按照以相应的n为底数(n进制)全部展开后得到的指数的最大层数。如图2所示, M_1=111 这个数的“层数”是3,表示它按照2进制展开后,有3层指数; M_2 的“层数”也是3,它按照3进制展开后也有3层指数;类似的,我们发现后几项的“层数”也都是3 。实际上,我们可以通过观察思考发现,古德斯坦数列形成的规则决定了古德斯坦数列的“层数”只会下降而不会上升

图2 M1=111的“层数”为3

“层数”不会上升这个结论是可以在皮亚诺公理体系内得到证明的,但这并不能帮助我们证明古德斯坦定理,因为“层数”是否必然下降是无法在皮亚诺公理体系内证明的,只不过这可以帮助我们直观感性理解古德斯坦数列收敛到0的过程。

之所以古德斯坦定理无法在皮亚诺公理体系内被证明,是因为基于皮亚诺公理体系,无法定义极限序数(Limit Ordinal Number),无法构建二阶算术。下面,我们来补上皮亚诺公理的这个缺陷。

二、数(三声)数(四声)数(三声)出新花样——集合的序数

1、数完了全部自然数之后还能继续数数吗?

可能绝大多数人想不到,古德斯坦定理的证明居然和数数有关系。我们从小就会数数,两三岁的小孩子也许就可以从1数到10了。可是如果认真思考一下,即使当我们长大成人后,单看数数的话,我们并没有比三岁孩子长进多少,也只不过是把数到10的能力扩展到了数到100、1000、10000,至多可以一直数下去。不知道是否有朋友曾经想过,如果我们能够数完全部自然数,之后还能继续往下数吗?

其实数数这个行为无非就是把某个集合中的元素排了个序。我们以自然数集合为例,从1数到10,无非就是把1-10这10个自然数构成的集合中的元素排了个顺序,{1, 2, 3, 4, 5, 6, 7, 8, 9, 10},仅此而已。

如果假设我们可以数完全部自然数,那当然意味着我们把全体自然数排了个顺序 {1, 2, 3, 4, ...... } ,不妨设此时我们数到了 \omega ,那么还能继续数下去吗?比如在全体自然数之外,又多了一个元素不妨叫做 \omega+1 ,这个元素被排在全体自然数之后,也就是认为它比任何自然数都要大,那么这个排完序的集合就变成了 { 1, 2, 3, 4, ......, \omega+1 } ,这是不是意味着如果我们数完了全部自然数之后,就应该数到 \omega+1 了呢?答案是肯定的。这说明只有自然数是不够我们“数”的,还需要定义一些新的数。

在定义这些新的数之前,我们需要澄清一个容易被误解的事。一般生活中的数数,如果我数得比你多,那么意味着我排列出来的集合中元素的个数比你的多。例如 {1, 2, 3, 4, 5} 中元素的个数比 {1, 2, 3} 中的多,从而数到的数也大(5 > 3)。但是,一旦数到了 \omega 这样的数,这个结论就不成立了。{1, 2, 3, 4, ...... } 和 { 1, 2, 3, 4, ......, \omega+1 } 这两个集合排序后,数下来当然是 \omega+1 要比第一个集合中的任意自然数都大,但是这两个集合中元素的个数(严格的称呼是集合的基数或者集合的势)却是一样多的,都是 \aleph_0

再比如这个集合 {1, 3, 5, 7, ......, 2, 4, 6, 8, ......} 也是全体自然数集合的一个排序,集合中元素的个数当然和自然数一样多。但是如果你数数数下来的话,会发现这个集合中的“2”已经对应着前面的 \omega+1 了,后面还有“4”、“6”、“8”、......,显然数完这个集合里面的元素得到的数字要比 \omega+1 还大得多。这确实是一个需要解决的新问题。

要解决这个问题,我们必须区分清楚两个概念:一个集合有多少个元素被称为这个集合的基数;而一个被排序后的集合能够数到多少个数,被称为这个良序集序数。基数与序数在有限集中是一回事,但是在无限集中则是完全不同的概念。

有关集合的基数的浅显解释可参见我之前的文章

遥远地方剑星:无穷与对应——集合的基数zhuanlan.zhihu.com图标

本文重点介绍的是集合的序数。

2、集合的序数

这部分涉及到的数学概念比较多,如果不感兴趣也可以直接跳到第三部分了解一下古德斯坦定理证明的大概意思。

前面的分析中说过,数数的本质是给集合排序。因此定义序数首先就要定义顺序。

顺序是任一集合 L 中的两个元素之间的一种关系“ \le ”,这种关系需要满足如下三个条件:
(1)自反性:对于集合中的任意元素 a\in L ,满足 a\le a
(2)反对称性:对于集合中的任意两个元素 a,b\in L ,如果 a\le bb\le a ,那么 a=b
(3)传递性:对于集合中的任意三个元素 a, b, c\in L ,如果 a\le bb\le c ,那么 a\le c
定义了顺序关系的集合 L 被称为一个偏序集(Partial ordered set),记作 (L,\le)

数学上的定义是十分严谨的,有时也很有思维乐趣。乐于思考的朋友也许会感觉到上面关于偏序集的定义似乎有些瑕疵,因为它并没有要求集合 L 中任意两个元素都可以比较。
比如在自然数集合 N 上定义如下一种顺序关系“ \preceq ”:
a\preceq b \Leftrightarrow a|b (a|b的意思是a能够整除b)
可以很容易验证“ \preceq ”这个关系满足顺序的三个基本条件,因此 (N,\preceq) 是一个偏序集。在这个偏序集中, 1\preceq 3\preceq 6 成立;可是如果比较 3 和 5 ,麻烦就来了,3不能整除5,5也不能整除3,在“ \preceq ”关系的定义下,3 和 5 之间不存在顺序关系。

上面的情况使我们无法保证能够对偏序集中的全部元素进行排序。为了解决这个问题,我们加入一个条件,那就是“所定义的顺序关系能够使集合中的任意两个元素进行比较”,这时我们称这个定义了顺序的集合为线序集(Linear ordered set)

一个线序集,如果它的任何一个非空子集都有一个最小元素,我们就称这个线序集是良序集(Well-Ordering set)

定义是抽象的,示例是具体的。例如按照一般数字大小比较的规则定义顺序,自然数集合 {1, 2, 3, 4, ......} 是良序集,但是整数集合 {......, -4, -3, -2, -1, 0, 1, 2, 3, 4, ......} 不是良序集,因为整数集合能够找到没有最小元素的非空子集,比如负整数集合 {......, -4, -3, -2, -1}。再比如仍按照一般数字大小比较的规则定义顺序,实数集合不是一个良序集,而且任何一个区间的实数构成的集合,如 (0,1) 区间,也都不是良序集,因为 (0,1) 区间本身就没有最小的元素,它的很多子集比如 (0.1, 0.6) 也没有最小元素。

良序集是一个排好了顺序的集合,有了良序集,我们就可以定义序数了。序数在集合论中的定义是比较抽象的。如果我们从一般人理解的角度,可以认为从一个良序集的最小元素开始,从小到大数数,一直把这个良序集的全部元素数完得到的数就是这个良序集的序数;对于永远也数不完的良序集(比如自然数集合),我们就需要定义出一个新的“数”赋予这样的良序集做为它的序数。因此,任何一个良序集都唯一的对应一个序数

当然,上面的描述是很不严谨的,对良序集的序数的严格定义如下:

对于一个良序集 L 中的任一个元素 \upsilon \in L ,定义集合 I(\upsilon)=\{u\ |\ u\in L \ \&\ u<\upsilon\} ,称为集合 L 中元素 \upsilon初始段,也就是比 \upsilon 还小的元素构成的集合。
序数是这样一种良序集,它里面任何一个元素都恰好是这个元素自己的初始段。或者说,一个良序集 L ,如果 \forall \upsilon \in L, \ \upsilon=I(\upsilon) ,L 就被称为一个序数。
一个良序集 O 如果能够同某个序数 L 建立一一对应且保持原顺序的映射( \exists f:O\rightarrow L ,满足 f 为双射且 \forall a\le b \ \&\ a,b\in O, \ f(a)\le f(b) ),或者说 O 与 L 是同构的,就把这个良序集的序数定义为 L 。

这个定义虽然严格,但是有些抽象。不过我们还是可以比较清楚的知道,在数学上,序数不是数而是一种集合。我们来具体的描绘一下序数集合是什么样子的:
(1)空集没有任何元素,因此它是一个良序集且满足序数的定义要求,所以空集 \phi 是最小的序数,我们一般记作 \phi=0
(2)对于任意一个序数,它里面的最小元素的初始段都是空集 \phi ,所以按照定义,一个非空集序数的最小元素就应该是空集 \phi ;因此只有一个元素的序数就是集合 \{\phi\} ;我们也可以把这个集合称为序数1;
(3)对于有两个元素的序数,它里面最大元素的初始段当然就是 \{\phi\} ,因此它的最大元素也就是这个初始段 \{\phi\} ,所以有两个元素的序数就是集合 \{\phi,\{\phi\}\} ;也可以把这个集合称为序数2;
(4)依次类推,后面的序数就是 \{\phi,\{\phi\},\{\phi,\{\phi\}\}\}\{\phi,\{\phi\},\{\phi,\{\phi\}\},\{\phi,\{\phi\},\{\phi,\{\phi\}\}\}\} 、......;也就是每个序数都有一个后继序数,一个序数 \alpha 的后继序数就是 \alpha \ \cup \{\alpha\}
(5)前面说过,对于怎么都数不完的良序集,我们需要定义新的序数,因此我们定义全体自然数对应的序数是 \omega ,那么 \omega=\{\phi,\{\phi\},\{\phi,\{\phi\}\},\{\phi,\{\phi\},\{\phi,\{\phi\}\}\},...\} ;而它的后继序数就是 \omega \ \cup \{\omega \} ,也即 \{\phi,\{\phi\},\{\phi,\{\phi\}\},\{\phi,\{\phi\},\{\phi,\{\phi\}\}\},...,\{\phi,\{\phi\},\{\phi,\{\phi\}\},\{\phi,\{\phi\},\{\phi,\{\phi\}\}\},...\}\} ,后面会介绍,这个序数也被记作 \omega+1

好了,不再列举下去了,这些序数的概念已经足够我们介绍后面的知识并用来证明古德斯坦定理了。

3、序数的一些有趣性质

(1)序数的比较

按照前面的定义,序数都是良序集,而且任何一个序数都是比它大的序数中的一个元素,所以我们可以按照如下关系定义两个序数之间的顺序:

对于任意两个序数 \alpha\beta\alpha<\beta\Leftrightarrow \alpha\in \beta

在这个定义下,任何由若干个序数构成的集合都是良序集,任意两个序数都可以比较大小。

在这里多说一点,我们已经知道任何一个序数 \alpha 都有后继序数 \alpha \ \cup \ \{\alpha \} ,如果我们这样一直操作下去,遇到无穷尽的情况就定义一个新的序数(这种序数被称为极限序数),那么得到的应该就是全部的序数了。如果我们定义全部的序数组合在一起叫做 Ord ,那么 Ord 是不是一个良序集?是不是一个序数呢
这个问题涉及到著名的罗素悖论。告诉大家,Ord 不是一个序数,它也不是一个集合,它不能作为任何集合的元素,它是一个,而且是一个真类。否则如果 Ord 是一个集合,那么它必然是一个良序集,也必然是一个序数,从而 Ord \ \cup \{Ord\} 就是它的后继序数,而这个序数显然不属于 Ord ,从而与 Ord 是全体序数的组合矛盾。

(2)序数的运算

序数虽然不是数而是集合,但是可以类似数一样在序数上定义某些运算。为了证明古德斯坦定理,我们至少要知道序数可以进行加法、乘法和乘方运算。以下给出简单的描述。

序数的加法
对于两个良序集A和B,它们对应的序数分别是 \alpha\beta ,那么把这两个集合连接起来,记作 A\ \sqcup \ B ,并在这个新集合上定义顺序为“在A、B集合内保留原有顺序,且A集合中的任意元素都小于B集合中的最小元素”,则 A\ \sqcup \ B 将仍然是一个良序集,且 A\ \sqcup \ B 对应的序数就是 \alpha+\beta
比如一个序数是 \omega 的集合 {1, 2, 3, ...} 和一个序数是3的集合 {t1, t2, t3} 连接起来之后形成的集合为 {1, 2, 3, ..., t1, t2, t3} 并规定t1大于任何第一个集合中的自然数,则新的集合的的序数就是 \omega+3 。再比如两个序数都是 \omega 的集合 {1, 2, 3, ...} 和集合 {t1, t2, t3, ...} 连接起来之后形成的集合为 {1, 2, 3, ..., t1, t2, t3, ...} 并规定t1大于任何第一个集合中的自然数,则新的集合的的序数就是 \omega+\omega
从中我们可以看出序数的加法不满足交换律。因为 \{1,2,3,...\}\ \sqcup \ \{t1,t2,t3\} 的序数是 \omega+3 ;而 \{t1,t2,t3\}\ \sqcup \ \{1,2,3,...\}=\{t1,t2,t3,1,2,3,...\} 的序数是 3+\omega=\omega\ne \omega+3

序数的乘法
我们先定义两个集合的乘法。设两个良序集A和B,定义 A\times B=\{(a,b)\ |\ a\in A \ \&\ b\in B\} ,也就是说 A\times B 是从A和B中各取出一个元素形成的有序元素对构成的集合。为了让 A\times B 也构成一个良序集,我们定义 (a_1,b_1)<(a_2,b_2)\Leftrightarrow (b_1<b_2) \ or \ (b_1=b_2 \ \&\ a_1<a_2)
在这样的定义下,如果良序集A和B的序数分别是 \alpha\beta ,那么 A\times B 的序数就是 \alpha \times \beta
序数的乘法也不满足交换律。比如A={t1, t2},B={1, 2, 3, ...} ,它们的序数显然分别为2和 \omega ,那么 A\times B=\{(t1,1),(t2,1),(t1,2),(t2,2),......\} 的序数是 2\times \omega=\omega ,而 B\times A=\{(1,t1),(2,t1),(3,t1),...,(1,t2),(2,t2),(3,t2),...\} 的序数是 \omega\times 2=\omega + \omega

序数的乘方
利用序数的加法和乘法,就可以定义序数的乘方了。定义
(i) \alpha^0=1
(ii) \alpha^{\beta+1}=\alpha^\beta\times \alpha
(iii) \alpha^\beta = \lim _{\xi\rightarrow \beta} \alpha^\xi=sup\{\alpha^\xi\ |\ \xi<\beta\}
序数的乘方相对而言更复杂抽象一些,本文不详细解释了。

证明古德斯坦定理涉及到的最大的序数
最后需要介绍一下证明古德斯坦定理涉及到的最大的序数,不用数学语言,简单点说,这个序数是 \omega\omega\omega 的......无穷次方次方次方......,我们定义它为 \varepsilon_0=\omega^{\omega^{\omega^{...}}} ,指数上有无穷层。容易从样子上看出来,这个序数满足 \omega^{\varepsilon}=\varepsilon ,它也是满足这个关系的最小 \varepsilon ,所以我们把它叫做 \varepsilon_0
当然,比它大的序数有的是,只不过这个序数在可数序数中已经很大了,而且它是证明古德斯坦定理会涉及到的最大序数。

(3)任何集合都可以良序化

最后说明一个更神奇的事情。在选择公理成立的前提下,任何集合都可以良序化,也就是可以经过排序变成一个良序集。对于可数集合来说,我们很容易接受这个结论。但是一旦面对不可数集合,比如实数集合,就很难想象它将如何被良序化。是的,利用选择公理,我们可以证明实数集合能够被良序化,但是我们无法给出任何直观、准确的良序化方案。

但不管怎么样,选择公理成立意味着实数集合这样的不可数集合也能被良序化。良序化之后的实数集合必然对应着一个序数,而这个序数既然是能够和实数集合建立一一对应的,那就意味着这个序数的基数(注意序数本身也是一个集合,它当然有基数)和实数集合一样,也是不可数的。这样的结论只能依靠逻辑和想象来认知。

所以,\varepsilon_0 并不是什么最大的序数,也不存在最大的序数。 \varepsilon_0 是一个可数集合,实数集被良序化后对应的序数是一个不可数集合,当然那个序数要比 \varepsilon_0 大得多啦。

如果朋友们愿意发挥自己的想象,就会想到后面还有更大的基数、更大的序数、更大更大的基数、更大更大的序数、......。这才算是把从三岁就会做的数数这件事提升了一些境界

三、利用集合的序数证明古德斯坦定理

1、证明思路

其实古德斯坦定理的证明思路并不复杂,但是要用到序数的知识。古德斯坦序列的第n个数是把第n-1个数用n进制表示出来后,再把n替换成n+1然后再减去1得到的。证明思路是对每个n,把古德斯坦序列中第n个数用n+1进制表示出来后,再把每个“n+1”替换成为第一个极限序数 \omega ,这样得到一组由 \omega 参与运算的平行序列。

仍以初始值为111的古德斯坦序列为例,它和对应的平行序列示例如下:
\begin{align*} M_1&=2^{2^2+2}+2^{2^2+1}+2^{2+1}+2^2+2+1 &P_1&= \omega^{\omega^\omega+\omega}+\omega^{\omega^\omega+1}+\omega^{\omega+1}+\omega^\omega+\omega+1\\ M_2&=3^{3^3+3}+3^{3^3+1}+3^{3+1}+3^3+3 &P_2&=\omega^{\omega^\omega+\omega}+\omega^{\omega^\omega+1}+\omega^{\omega+1}+\omega^\omega+\omega\\ M_3&=4^{4^4+4}+4^{4^4+1}+4^{4+1}+4^4+3 &P_3&=\omega^{\omega^\omega+\omega}+\omega^{\omega^\omega+1}+\omega^{\omega+1}+\omega^\omega+3\\ M_4&=...... &P_4&=...... \end{align*}

我们知道任何自然数同时也都是序数,叫做有限序数,因此古德斯坦序列也可以看作是一个由有限序数组成的序列;而 \omega 是无限序数,大于任何有限序数,从而使得到的平行序列中的每个序数都比对应的古德斯坦序列中的序数大。如果我们能够证明平行序列会在有限步骤之后收敛到零,那么对应的古德斯坦序列当然也会收敛到零。

在这个平行序列中,每个底数、指数上的底数、...,都是 \omega ,不会再增大;如果大家还记得我前面提到过每个古德斯坦序列中的数对应的指数“层数”不会增加,那么就应该能感觉到这个新得到的平行序列是有可能逐渐减小的。好,下面就来证明这一点。

2、证明过程

如果对序数很不熟悉,也可以跳过这个证明过程,知道证明思路就可以了

我们定义函数 f(m,n,\delta) ,其中m、n为自然数, \delta 为序数(包括有限序数或者无限序数)。这个函数表示将自然数m以n进制形式表示出来,再把每个指数也以n进制形式表示出来,再把指数的指数也以n进制形式表示出来,......,最后再把得到的形式中的n替换为序数 \delta 所得到的序数。

于是,古德斯坦序列和对应的平行序列就可以表示为
\begin{align*} M_2&=f(M_1,2,3)-1 &P_2&=f(M_2,3,\omega)\\ M_3&=f(M_2,3,4)-1 &P_3&=f(M_3,4,\omega)\\ &... &...\\ M_n&=f(M_{n-1},n,n+1)-1 &P_n&=f(M_n,n+1,\omega)\\ &... &... \end{align*}

我们重点研究 P_n 这个序列。我们知道这个序列里面的数都是序数,而且起码在一开头都是无限序数。为了研究这个序列的演化情况,我们定义另一个函数 g(\delta,n) ,n为自然数, \delta 为小于 \varepsilon_0 的序数。 g(\delta,n) 这个函数定义如下:
\forall \beta,\gamma \in Ord,\gamma >0,n \in N ,有
(i) g(0,n)=0
(ii) g(\beta+1,n)=\beta
(iii) g((\beta+1)\times \omega^\gamma,n)=\beta \times \omega^\gamma+n\times \omega^{g(\gamma,n)}+g(\omega^{g(\gamma,n)},n)

g(\delta,n) 这个函数是用递归的方法定义的,前提是 \delta =(\beta+1)\times \omega^\gamma 时, \gamma<\delta ,否则递归就没有意义了。这个条件的成立是由 \delta < \varepsilon_0 来保证的。根据康托尔规范形式定理(Cantor Normal Form Theorem),任何一个序数 \delta 都可以唯一的表示成如下的形式: \delta=k_1\cdot \omega^{\beta_1}+k_2\cdot \omega^{\beta_2}+...+k_n\cdot \omega^{\beta_n} ,其中 k_i 为正整数, \delta\ge \beta_1>\beta_2>...>\beta_n 为序数。当 \delta<\varepsilon_0 时,可以把 \delta\beta_1 的关系由“大于等于”改为“大于”,从而确保 \gamma<\delta

下面我们要证明两个结论:一是 \forall \delta>0,g(\delta,n)<\delta ;二是 g(P_{n-1},n)=P_n如果这两个结论成立,那么就有 \forall P_{n-1}>0, P_n=g(P_{n-1},n)<P_{n-1} ,说明 P_n 是一个严格递减的序数序列。而序数是有最小值的,所以严格递减的序数序列 P_n 必然会在有限步内减到 0 。从而由 M_n<P_n ,得到 M_n 也会在有限步内减到 0

(1)证明 \forall \delta>0,g(\delta,n)<\delta

\delta 是某个序数的后继序数时,即 \delta=\beta+1 时, g(\beta+1,n)=\beta<\beta+1=\delta 是显然的。
\delta 不是任何序数的后继序数时,这样的序数被叫做极限序数(Limit Ordinal Number)。设 \delta=(\beta+1)\times \omega^\gamma,0<\gamma<\delta ,我们对 \gamma 使用超限归纳法,
\gamma=1 时,
\begin{align*} g(\delta,n)&=g((\beta+1)\times \omega^1,n)\\ &=\beta \times \omega+n\times \omega^{g(1,n)}+g(\omega^{g(1,n)},n)\\ &=\beta\times \omega+n\times \omega^{0}+g(\omega^0,n)\\ &=\beta\times \omega+n+g(1,n)\\ &=\beta\times\omega+n\\ &<\beta\times\omega+\omega=(\beta+1)\times \omega=\delta \end{align*}
结论成立。
\gamma=\theta 时结论成立,则当 \gamma=\theta+1 时,
\begin{align*} g(\delta,n)&=g((\beta+1)\times \omega^{\theta+1},n)\\ &=\beta \times \omega^{\theta+1}+n\times \omega^{g(\theta+1,n)}+g(\omega^{g(\theta+1,n)},n)\\ &=\beta\times \omega^{\theta+1}+n\times \omega^{\theta}+g(\omega^\theta,n)\\ &<\beta\times \omega^{\theta+1}+n\times \omega^\theta+\omega^\theta\\ &=\beta\times\omega^{\theta+1}+(n+1)\times\omega^\theta\\ &<\beta\times\omega^{\theta+1}+\omega\times\omega^\theta=(\beta+1)\times \omega^{\theta+1}=\delta \end{align*}
结论成立。
\Gamma 为极限序数,且 \forall 0<\gamma<\Gamma, g(\delta,n)<\delta 成立,当 \gamma=\Gamma 时,
\begin{align*} g(\delta,n)&=g((\beta+1)\times \omega^{\Gamma},n)\\ &=\beta \times \omega^{\Gamma}+n\times \omega^{g(\Gamma,n)}+g(\omega^{g(\Gamma,n)},n) \end{align*}
\gamma'=g(\Gamma,n) ,由 \delta=(\beta+1)\times \omega^\Gamma<\varepsilon_0 知, \Gamma<\delta<\varepsilon_0 ;设 \Gamma=(\beta'+1)\times \omega^{\bar{\gamma}} ,则 \bar{\gamma}<\Gamma ;所以 \gamma'=g(\Gamma,n)<\Gamma 。由此继续上式推导,
\begin{align*} g(\delta,n)&=\beta \times \omega^{\Gamma}+n\times \omega^{g(\Gamma,n)}+g(\omega^{g(\Gamma,n)},n)\\ &=\beta\times\omega^\Gamma+n\times\omega^{\gamma'}+g(\omega^{\gamma'},n)\\ &<\beta\times\omega^\Gamma+n\times\omega^{\gamma'}+\omega^{\gamma'}\\ &=\beta\times\omega^\Gamma+(n+1)\times\omega^{\gamma'}\\ &<\beta\times\omega^\Gamma+\omega^{\gamma'+1}\\ &<\beta\times\omega^\Gamma+\omega^{\Gamma}=\delta \end{align*}
上式中最后一个“<”成立是因为 \Gamma 是极限序数, \forall \gamma'<\Gamma,\gamma'+1<\Gamma 都成立。

从而,根据超限归纳法, \forall \delta>0,g(\delta,n)<\delta 成立。

(2)证明 g(P_{n-1},n)=P_n

我们知道如下几个关系:
\begin{align*} P_{n-1}&=f(M_{n-1},n,\omega)\Longrightarrow g(P_{n-1},n)=g(f(M_{n-1},n,\omega),n) \\ P_n &=f(M_n,n+1,\omega)=f(f(M_{n-1},n,n+1)-1,n+1,\omega) \end{align*}

所以,我们只需要证明
g(f(M_{n-1},n,\omega),n)=f(f(M_{n-1},n,n+1)-1,n+1,\omega)
下面,我们用数学归纳法证明对于任意正整数m,都有
g(f(m,n,\omega),n)=f(f(m,n,n+1)-1,n+1,\omega)\ \ \ ......(1)

【这个证明过程中不断涉及到变换进制、替换底数,需要很细致的思考。】

当m=1时,左边
g(f(m,n,\omega),n)=g(f(1,n,\omega),n)=g(1,n)=0
右边
\begin{align*} f(f(m,n,n+1)-1,n+1,\omega)&=f(f(1,n,n+1)-1,n+1,\omega)\\ &=f(1-1,n+1,\omega)\\ &=0 \end{align*}
等式(1)成立。

假设对于任意小于m的正整数,(1)式都成立,我们考察m的情况,

把m以n进制展开并转换成多层指数的形式,得 m=\sum_{i=0}^{p}{a_i\cdot n^i}=\sum_{i=0}^{p}{a_i\cdot n^{f(i,n,n)}}

最简单的情况是 a_0>0 ,此时左边
\begin{align*} g(f(m,n,\omega),n)&=g(\sum_{i=1}^{p}{a_i\cdot \omega^{f(i,n,\omega)}+a_0},n)\\ &=\sum_{i=1}^{p}{a_i\cdot \omega^{f(i,n,\omega)}+a_0-1} \end{align*}
右边
\begin{align*} &f(f(m,n,n+1)-1,n+1,\omega)\\ =&f(\sum_{i=1}^{p}{a_i\cdot (n+1)^{f(i,n,n+1)}+a_0-1,n+1,\omega})\\ =&\sum_{i=1}^{p}a_i\cdot \omega^{f(i,n,\omega)}+a_0-1 \end{align*}
显然左边等于右边,等式(1)成立。

下面讨论最复杂的情况, a_0=0 ,此时设 j 为使系数 a_i\ne0 的最小指标 i 。则左边
\begin{align*} &g(f(m,n,\omega),n)\\ =&g(\sum_{i=j}^{p}{a_i\cdot \omega^{f(i,n,\omega)}},n)\\ =&\sum_{i=j+1}^{p}{a_i\cdot \omega^{f(i,n,\omega)}}+(a_j-1)\cdot \omega^{f(j,n,\omega)}+n\cdot \omega^{g(f(j,n,\omega),n)}+g(\omega^{g(f(j,n,\omega),n)},n) \end{align*}
右边
\begin{align*} &f(f(m,n,n+1)-1,n+1,\omega)\\ =&f(\sum_{i=j+1}^{p}{a_i\cdot (n+1)^{f(i,n,n+1)}}+(a_j-1)\cdot (n+1)^{f(j,n,n+1)}\\ &+n\cdot (n+1)^{f(j,n,n+1)-1}+f((n+1)^{f(j,n,n+1)-1}-1,n+1,n+1),n+1,\omega)\\ =&\sum_{i=j+1}^{p}a_i\cdot \omega^{f(i,n,\omega)}+(a_j-1)\cdot \omega^{f(j,n,\omega)}\\ &+n\cdot \omega^{f(f(j,n,n+1)-1,n+1,\omega)}+f((n+1)^{f(j,n,n+1)-1}-1,n+1,\omega) \end{align*}
左右两边最后表达式的第一、二项显然相等,我们重点看第三项和第四项。
对于第三项,因为 j 显然小于 m ,所以等式(1)对于 j 成立,所以左右表达式中 \omega 的指数相等,从而左右表达式的第三项也相等。
我们着重分析第四项,左边第四项为 g(\omega^{g(f(j,n,\omega),n)},n) ,右边第四项为 f((n+1)^{f(j,n,n+1)-1}-1,n+1,\omega) 。如果我们能够找到一个正整数 m'<m ,使得
\omega^{g(f(j,n,\omega),n)}=f(m',n,\omega)\ \ \ ......(2) ,且
(n+1)^{f(j,n,n+1)-1}=f(m',n,n+1)\ \ \ ......(3) 成立,
则根据等式(1),左右两边第四项就相等了。
我们设 m'=n^x ,代入等式(3)得到
\begin{align*} &(n+1)^{f(j,n,n+1)-1}=f(n^x,n,n+1)=(n+1)^{f(x,n,n+1)}\\ &\Rightarrow f(x,n,n+1)=f(j,n,n+1)-1\ \ \ ......(4) \end{align*}
满足等式(4)的 x 当然存在,只要把等式(4)右边的数计算出来,再用 n+1 进制表达出来,然后把 n+1 换回为 n 就得到了 x 。而且由于 n^j<m ,这个 x 当然满足 m'=n^x<m
下面我们只需要验证得到的 m' 能够令等式(2)成立即可。代入等式(2)右边有
f(m',n,\omega)=f(n^{x},n,\omega)=\omega^{f(x,n,\omega)}
而由于 j<m ,等式(1)成立,于是等式(2)左边为
\begin{align*} &\omega^{g(f(j,n,\omega),n)}\\ =&\omega^{f(f(j,n,n+1)-1,n+1,\omega)}\\ =&\omega^{f(f(x,n,n+1),n+1,\omega)}\\ =&\omega^{f(x,n,\omega)} \end{align*}
第一步利用了等式(1),第二步利用了等式(4),最后一步成立是因为直接的替换关系。
于是,等式(2)成立。

至此,我们完成了数学归纳法的全部过程,证明了 g(P_{n-1},n)=P_n 成立。

根据上面两个结论,古德斯坦定理成立

四、结尾

这篇文章数学推导过多,普及性不强,算是满足了我自己想深入了解古德斯坦定理证明的一个好奇心吧。

不过如果跳过数学推导,文章的思路还是很清楚的。把古德斯坦序列替换为一个更大的平行序数序列,而且可以证明这个序数序列是递减的,从而确保了有限步后收敛到零。

可能最能引起思考的是,这样一个证明过程,为什么在皮亚诺公理体系里面做不到呢

编辑于 2020-03-21

文章被以下专栏收录