实数系与实数定理

短文 ? 次阅读
归档
本文原已在其他场合、更早之前发表,已无时效。

作为第一篇博客,想从数学分析这门课的基础讲起——实数系的定义与性质。当然,工科学生的高等数学课本上往往是没有这个内容的,而是从极限的定义或者数列开始;这里所简略介绍的,则是作为这些内容之更基础的部分。

可以说,没有对于实数系的深入理解,是难以真正把握分析学的本质的,因为极限实在是一个既抽象又需要高度严谨性的概念,如果不能弄清其根源——实数的性质,往往只能是雾里看花,勉强应付而已。不过,对于不专门学习数学理论的人而言,市面上介绍实数理论的书,要么是符号推理抽象概念的堆积,不适宜自行阅读;要么则对关键内容一笔带过,讨论不够深入。这里我仅将自己对这一部分内容的理解,参照一些参考书目的叙述方式,简要的表述出来,以供朋友们闲余之时揣摩玩味;我相信了解一点有关于数学基础的知识,对于其他各方面的知识理解都是有所裨益的吧。

废话不多说,开始正文。

1 实数系的特殊之处

回顾我们从小到大学习数学的经历,我们可以发现我们所已知的「数」的范畴,是逐渐扩张与复杂化的。从幼儿园掰着指头数「1,2,3,…」(自然数集$N$),到小学认识了分数与负数(扩张为有理数集$Q$),到第一次认识「无限不循环」的无理数$\pi$(扩张为实数$R$),以至于虚数单位的引入(扩张为复数$C$)……我们所认知到的数的形式越来越复杂,也越来越完善。这种从简到繁的认识过程,似乎十分符合自然规律。数学家 Kronecker(1823-1891)曾说过:「上帝创造了整数,其余的一切都是人为的。」自然数或者整数的概念,对于我们而言似乎是浑然天成的,几乎曾在地球上出现过的大多数重要文明都独立自主的掌握了有关于自然数的概念;有理数略显复杂,但若是把所有有理数都看成两个整数之比,则其也无非是自然数这一概念的延伸罢了。唯独由之更进一步的实数(更本质的说是实数中不是有理数的那一部分,即无理数),却并不那样显然;尽管我们可以举出像$\sqrt{2}$、$\pi$、$e$之类的数确实不能表示成两个整数之比,但对于是否有更多这样的数,它们又具有怎样的特性,我们并不清楚。

那么,实数系特殊在哪里呢?它恰就特殊在其中出现了一种新的数——无理数,而这一类数与「上帝创造的」整数之间的关系并不显然。这一点,可以从几方面来考虑。

第一点,实数与整数不在一个量级上。

也就是说,我们无法在整数(或者说有理数)与实数之间建立一个一对一的映射。用集合势的观点来说,就是

\[R\sim 2^{N}\]

也即实数集和整数集的幂集是等势的,而任何一个集合的幂集的势一定比它自己的势高,因而实数的集合势高于整数的集合势。

这里我们再简单介绍一下集合势的观点(如果你已经熟知集合势的观点,以下部分可以跳过):如果$A$与$B$都是无穷集合,并且存在双射$\phi :A\rightarrow B$使得$A$与$B$这两个无穷集合中的元素可以一一对应起来,那么就称集合$A$与$B$是等势的,也可以说这两个集合是对等的,记作$A\sim B$。例如,我们显然可以知道自然数集$N$与自己的子集——正奇数集$N_{2k+1}$是对等的,只要令自然数集中的$n$对应于正奇数集中的$2n+1$即可;同样的,自然数集也可以与正偶数集对等。这就是数学中的「部分等于整体」,出现这种状况的原因在于对于无穷集合我们已经不能用其元素的「数量」来衡量,只能通过一一对应的方法,来比较两个无穷集合的元素的「多少」。

你可能会说:既然前面举的两个例子中,所有的无穷集合(自然数集,正奇数集,正偶数集)都是等势的,那么会不会所有的无穷集合都是等势的呢?如果是这样,便不必讨论集合势了。现在我们就可以举出一个例子:实数集与自然数集不能对等。这个命题可以用多种方法证明,最为大家所熟知的就是对角线证法(百度百科中的相关词条),不了解的朋友可以点前面的链接了解一下,在此不再赘述。换句话说,自然数集可以一个一个的列出来(你可以按1,2,3,…列出来,也可以按2,1,4,3,…列出来等等,但总之你一定可以一个一个的列出来),而实数则多到不能够按顺序一个一个列出来——如果你列了一张表,上面一定有遗漏,而且遗漏的数量远比列出来的多。除此以外,还有以下几个结论成立:

  1. 实数集上的任意一段有长度的开区间$(a,b)$中的数所构成的集合与实数集是对等的;(这意味着即使是实数集中很小的一段也比整个有理数集的点要「多」)
  2. 任何一个集合的幂集的势一定比它自己的势高(证明可见附录),这意味着对于任何一个无穷集,我们可以通过取幂集的方式获得比其所含元素更「多」的无穷集,因而也就不存在一个集合势最高的无穷集合;
  3. 有理数集和自然数集是等势的,而无理数集和实数集是等势的。前一个结论意味着我们可以通过一种方法将有理数一个一个列出来,使得任何一个有理数都将出现在这列数中(甚至还可以计算出它什么时候出现),具体来说是这样:

    \[\frac{1}{1},\frac{2}{1},\frac{1}{2},\frac{1}{3},\frac{3}{1},\frac{4}{1},...\]

    把有理数依次列出的方法,打叉表示与之前某个数重复不再列出(注意表中只是正有理数,为了囊括负有理数我们只需要在列每个正有理数时将其相反数一起列出即可)

    从而自然数集和有理数集的元素是「一样多」的。而后一个结论则告诉我们,无理数比有理数要「多得多」,也许你的中学数学老师曾经这样说过,不过他一定没有告诉你原因。

这里我们就不再一一论述这些命题的正确性了,有关集合势的完整理论可以在任何一本实变函数论的教材第一章找到,在这里仅仅是对有关于实数集的相关部分做了一个简单说明。(你也可以看看这篇博客)总之,实数集是一个比有理数更加复杂的结构;实数不能与有理数建立双射,这也就意味着我们不能像用整数之比表示有理数那样,直接用「神造」的整数构造有理数;因为仅通过整数的有限种运算组合出来的数,一定仍然与整数集等势。(不妨想想为什么呢?)

第二点,实数比有理数更加「稠密」,更加「连续」。

这里我给稠密与连续两个词打上了引号,因为这两种性质在数学中都有明确的定义,不过我这里只是比较直观的解释一下,因而先暂且将它们混为一谈。

不妨想一想,整数和有理数谁更稠密?答案当然是有理数,因为你可以挑出两个相邻的整数(如$n$与$n+1$),在它们之间找不出另一个整数;而在有理数中做不到,任何两个有理数之间都还存在着有理数,原因是如果 $a<b$ 是两个有理数,那么显然在它们之间的 $\frac{a+b}{2}$ 也是一个有理数,而这种过程可以不断进行下去。整数与有理数关于「稠密」这一性质的差异,有如旷野上稀稀拉拉的游人与火车站的「人山人海」之间的差异(有理数事实上比「人山人海」更进一步,因为即使是人海之中也必然有相邻的概念)。

稠密性的抽象体现和具体体现

你也许会联想到,实数与有理数相比,又是谁更加「稠密」呢?显然,用之前的方法,实数集也满足所谓「稠密」的定义(这一点是显然的,毕竟有$Q\subset R$);甚至我们把所有的有理数从实数集合中排除掉,只剩下无理数,也是满足这一「稠密」的要求的(你可以想想原因,附录中也有证明)。那么是不是由此就可以判断,有理数集和实数集都同等稠密了呢?显然不是。简单一点说,像我们之前所提到的$\sqrt{2}$、$\pi$、$e$等无理数,并不被「稠密」的有理数集所囊括——换句话说,有理数这张「渔网」是有洞的,而且处处有洞(你可以回想所谓的「无限不循环小数」是如何实现的)。

那么我们能不能把这个洞补上呢?比如我们可以做这样一个假设:如果把有理数集看成一个直线上的点集,为了补上这个点集中到处存在着的空隙,我们能不能通过添加更多的点来把空隙补满呢?比如像下面这样:

答案当然是否定的,因为无理数集(也就是我们所说的空隙)是不可数的——不能与自然数集对等;我无法将其中的点一个一个列出来,自然也不可能通过向有理数集中一个一个「修修补补」的方法,把这些空隙填上。这里我们可以看到,有理数集向实数集拓张的过程中,发生了巨大的「转变」,这种转变比下图展示的还要剧烈。

自然数集的「无穷」与实数集的「无穷」

这里显然出现了一个问题——与实数集比起来,有理数集并没有那样稠密。实数集似乎有着比「每两个点中都有无穷多个点」更深刻、更高级的性质,使得它成为了一个连续的点集,而我们对于有理数集则未必可以说它是连续的。实数集的这种没有空隙的性质该如何描述呢?这个问题曾困扰了人类上千年,直到十九世纪末才得到比较圆满的解答。在此我想先把这个问题搁置起来,等到下面的部分再来详细阐述。不久你就会看到,连续性是实数集最重要的性质,也是它与看似稠密的有理数集最大的区别。

第三点,有理数集对于极限运算是不封闭的,而实数集则对极限运算封闭。

当我们说某个数集对于某种运算封闭的时候,是指对于该数集中的任意一些数,经过该运算后得到的数仍在该数集中。例如,自然数集$N$对于加法运算是封闭的(因为$\forall\ a,b\in N,a+b\in N$),而对于减法则不封闭(比如$1\in N,2\in N,1-2=-1\notin N$)。有理数集$Q$对于加减乘除四种运算都是封闭的,在数学上把具有这种性质的数系(数系包括数集和其上的运算)称为数域。很显然,实数集$R$也是一个数域。

这里我们可能会不由自主的想到一个问题:既然有理数集对于加减乘除四种运算都是封闭的,那么无理数是怎么来的?是天上掉下来的吗?这里我们可以举一个高等数学中最基础的例子:

\[e=\lim_{n \to \infty}(1+\frac{1}{n})^n\]

关于这个例子我想应该不需要再做太多解释,可以看到数列${a_{n}=(1+\frac{1}{n})^n}$中的每一项都是有理数(这是显然的),但它却收敛到一个无理数——或者说,它并不收敛于任何一个有理数。如果我们把极限看成一种对于有理数列的运算,那么这种运算对于有理数集是不封闭的。相反,实数中的任何一个收敛数列,却都一定收敛到实数集以内,不会出现「超实数」之类的更高级的数(也就是空隙)。这是有理数集与实数集最重要的差异之一;换句话说,实数集是完备的。

以上我们絮絮叨叨说了我们可以注意到的实数集相对于有理数集(自然数集、整数集)的三大特殊之处——不可列性连续性完备性。这三个性质非常的重要,但却往往为大家所忽视,即使是一个十分熟悉高等数学课程理论乃至于数学分析课程理论的学生也往往对这些性质不太关心,不知所以然。当然,从另一个角度说,这些性质似乎与我们的日常生活关系不大,毕竟我们生活中能接触到的,不是实打实的有理数(自然数,简单分数),就是用于逼近无理数的有理数($\pi \approx 3.14,\sqrt{2} \approx 1.414$),「无限不循环小数」终归只是理论上的结果。但正是这些看起来不可思议而又十分meaningless的结果,在数学史上书写了一段佳话,并为整个数学学科的严谨化正式化迈出了重要的一步。当今许多关乎整个数学最基础依据的公理系统、命题定理,其构造理论与证明方法,都与实数系统的理论有着密不可分的关系。这一点,下面将会慢慢提到。

最后,我还要说明一点:上面我所提到三个特殊之处,其实本质是相同的,甚至可以说就是一条性质——一条决定了实数之所以谓为实数的性质。后面将会更加深入的讨论本节中所说到的三条性质。

2 实数公理系统简述

上一节中,我们通过「找不同」的方法,从实数集中挖掘出几条与众不同的性质。事实上,实数集所具有的这种特点,也曾经困扰过许多历史上著名的数学家——对于他们而言,自然数、整数、有理数都是十分自然的事物(古希腊的毕达哥拉斯学派则认为数就是有理数——直到$\sqrt{2}$被发现),而横空出世的无理数则令人困惑不已,如同怪物。想象一下,如果在这个世界上突然出现了比现在世界人口多不知道多少倍的新的人类,你是否会感到震惊和恐慌?事实上,无理数是不可回避的概念,如同$\sqrt{2}$这样的无理数之客观存在,表明这些数有它们存在的意义与价值——把实数集看成一根直线,任意取定一个原点和单位长度,上面便会有有理点和无理点的分别;有理数自然十分重要,然而没有无理数,这条直线就是不完整的;倘如我们把直线上所有的无理点都刨去,那么一些我们完全可以利用有理点作出来的点竟然会不在这根直线上,这实在是荒谬不已。可以说,只有实数集才能反映我们眼前的这个真实世界,仅靠自然数、正负号和它们的比值是有缺漏的。

数学家们很早就意识到无理数是客观存在的数量中不可或缺甚至更加重要的一部分,但是却难以对无理数下一个清晰的定义。原因在于,无理数是难以直接用已经存在的概念(特别是有理数)来定义的。你也许会问,为什么一定要用存在的概念来定义呢?因为无理数同样是数,它也具有着和当时的人们已经基本上弄清楚的有理数相同的性质,比如可以加减乘除,表示直线上的点,等等;因而,也理应将无理数看成「数」这个概念中不可分割的一部分,看作客观存在的东西(与此相反,虚数和复数则确实是非客观存在的概念,或者说它们并不是用来描述客观存在的「数」的),当然也要由客观存在的概念导出,而自然数的概念和由此推演而来的有理数的概念正是当时的人们所认为的客观成立的概念。所谓实数,正是指能够反映我们所处世界所有事物的数量情况的「数」的集合,这其中既有我们认为十分直观形象的有理数,也有性质非常模糊的无理数。这就是数学家们所面临的困境:明知道实数的概念和意义,可以在各种数学演算中将各种实数的性质利用的游刃有余,却没有办法——哪怕最笨的办法,来将这个清晰地存在于这个世界上的概念描述清楚。

当然,我们知道,无理数就是不能表示成$\frac{p}{q}$的「数」,可是这里的「数」又指什么呢?我们从心底里清楚,这个数就是指实数,是指所有在这个世界上客观存在的「计量元素」,但是实数是一个比自然数、有理数更高阶的概念,从数学的逻辑来说,在我们完全弄清楚实数系的所有性质以前,我们只能利用自然数、有理数的概念来定义实数,而绝不可能反过来(反过来是在此之后可以做的事情)。我们可以说自然数是一个我们已知的概念,我们不需要解释自然数究竟是什么(现今的数学家是以比「数」更加基本的概念——集合和元素来定义自然数的,详见Peano公理);但是我们实在不能说实数是一个我们已知的概念,因为这样下来,所谓的整数、有理数等概念,就难以定义了,而且这种定义方式也不符合人类认知数学世界的进程与逻辑。那么,要怎样才能定义实数集——或者说实数系统呢? **

2.1 实数的构造理论

现在我们已经知道,这一系列极为必要的工作,是由十九世纪末的一批杰出的数学家完成的。他们所采取的方法是,利用概念已经十分明晰的有理数,来构造包括无理数在内的整个实数集。前面我们已经说过,可数集合中的元素经过有限次运算得到的新的集合仍然是可列集,也就是说我们不可能通过对有理数集中所有数的有限次加减乘除甚至是开方来得到整个实数集(但是,得到一部分无理数是可以的,这就是为什么包含了大量无理数的代数数集仍然是一个可数集的原因);那么这些数学家是怎么利用有理数构造整个实数集的呢?这里,先不提这些伟大的数学家们精妙的工作,我们不妨先结合上面我所提到过的三个性质,来仔细想想。

完成构造性实数公理系统的主要数学家

(第一张图上的人名标错了,应为 Weierstrass[魏尔斯特拉斯])

实数集是不可数的,即实数集与自然数集不能对等。

实数的不可数性质能不能用来构造实数系呢?似乎是不行的,毕竟不可数性质并不是实数集特有的。不过,回想这一条性质的证明过程,你也许会想起中学里面大家的老师曾经教过的一个概念(并且有可能是现在正在阅读这篇博客的你对于无理数的唯一概念):有理数是有限小数和无限循环小数,而无理数是无限不循环小数。这样解释的原因很简单,因为所有的分数都可以化为有限小数或者无限循环小数(注意分数都可以化为无限循环小数并不是一件显然的事情,证明可见附录),而同时所有的有限小数和无限循环小数又都可以化为分数形式的有理数(这一点则比较显然),那么有理数自然就是有限的和无限循环的小数,无理数则是剩下的那种既无限又不循环的小数。由于这个世界上所有的数都能够利用有理数来逼近(即这使得一系列的有理数与这个数之差的绝对值越来越小,趋向于0),那么归根结底,这个逼近的数,要么是有理数要么是无理数,总有一个确定的小数形式——从而只要利用小数来分别定义有理数和无理数,它们就能代表这个世界上所有可以度量和利用的数——也就是我们所期望得到的实数。

然而,我要在这里补充一句,这种描述方法只能说是一种比较直观和易懂的说明方法,而不能算作很好的定义。原因在于,「无限不循环小数」是一个不具有操作性的概念,我如何知道某个数的小数形式究竟是循环的还是不循环的?如果它不循环,那么它又是怎样「不循环」的?我们今天还要利用计算机把圆周率$\pi$计算到小数点后上亿位,这说明即使是对于人类最熟悉的无理数,我们也并不知道其十位小数的分布规律。除此以外,这种对于无理数的定义方法,除了能让我们比较直观的理解无理数与有理数在形式上的区别外,对于数学家们深入研究无理数和整个实数集的性质没有多大帮助。实数集的不可数性质确实可以利用对角线证法很方便的由实数的小数表示中得出,但对于上面我们所提到的实数的连续性完备性,小数理论则似乎爱莫能助,不易于推导和分析。最重要的一点是,这种定义方法不能很好的反映出有理数与无理数在整个实数系统中的性质差异,「无限循环」与「无限不循环」究竟有什么本质上的差异吗?实在是难以看出。

当然,事实上我们可以通过这种方法给出有关于实数集的严谨定义,数学家Weierstrass(1815-1897)就是这么做的;但这种方法确实不够直观,构造难度也比较大,不太容易理解,毕竟所谓「无限小数」这样的抽象概念就已经限制了通过这种方法构建比较清晰简洁定义的可能性。有兴趣的朋友不妨读一读北师大的郇中丹教授等人编写的《简明数学分析》,其中的实数是利用十进制小数比较严格的定义出来的,在这里我就不再多说这种构造实数的思路了。

实数集具有连续性;或者说,实数集没有「空隙」。

连续性能不能作为我们定义实数的出发点呢?显然,我们先得把连续性的定义给出,才能进行下一步的工作。

第一节中,我花了不少笔墨来说明,实数不仅具有稠密性(「二中必有一」),而且比同样具有稠密性的有理数集更进一步,没有空隙。有理数集中的空隙,我们可以通过举具体的例子来找到。比如说,我们确确实实可以证明在1与2之间的$\sqrt{2}$不是一个有理数,从而它就是有理数集中的一个空隙 ;但仅仅这样是不够的,因为我们并不能对于每个无理数都施行这样的证明。去看一看有关$\pi$与$e$之无理性的证明,便知道想证明一个一般的数是无理数有多么困难了。

那么,我们有没有别的办法来描述有理数集这张渔网上的洞呢?最好能找到一种能够描述所有的洞的方式,这样我们也就完成利用有理数集构造实数集的工作了,因为无理数恰巧就是那所有的洞,而渔网和它的洞一起,就构成了整个实数系(是不是很生动呢^_^)。这看起来似乎有一点困难,那么我们不妨先用一种比较直观的方法来考虑。我们还是把实数集看成一条连续的直线(以右边为正方向),而把有理数集看成是撒在这条直线上的点。由于有理数集中的点不够多,因而它没有洒满整条直线,到处都留下了空隙,这就是我们所说的实数集的集合势高于有理数集的集合势。这里我们认为,直线上的每一个点都代表着唯一的数,因而在下面我们对两个概念不加区分。这种说法的严谨性有待证明,不过我们在这里所做的是简单的思考,因而可暂且将这一点搁置一边。

现在,让我们在这条直线上切一刀,从而就把这个直线分成了两段:一段在左,一段在右。这两段都可以看成点集,我们把它们分别叫做$\alpha$和$\beta$。显然,对于$\forall x\in \alpha,\forall y\in \beta$,都有 $x<y$,因为$\alpha$ 在 $\beta$ 左边。这些性质,从图上瞄一眼便可知道,不必细论。

这个时候,我们来特别关注一下两端的分界点,也就是「刀口」的位置。我们不妨假设用来切割「实数直线」的刀的厚度非常小,小到只有一个点的厚度(不能再小了吧)——从而它就是一条直线,那么当它切到直线上的时候,相当于两条直线相交,自然只有一个交点,称之为$C$。此时,将会有两种情况出现:第一种,$C$在有理数集中,也就是说$\alpha$和$\beta$是以一个有理数为界的,那么$C$所代表的有理数究竟是算作$\alpha$中的还是$\beta$中的,尚不能确定;还有一种,$C$不在有理数集中,从而我们知道这时$\alpha$与$\beta$刚好把有理数点分为两类,没有缺漏(因为只有分界点$C$所代表的数不能确定其所属的部分,但$C$不是一个有理点)。

分别想一想这两种情况。在第一种情况中,我们可以说,刀口刚好就切在了有理数集这张「渔网」上;而在第二种情况中,我们也可以说,刀口刚好切在了有理数集这张「渔网」的空隙里,切在了「网眼」上。是不是很惊喜?原来因为有理数集的稠密性而不能够确定的空隙,现在只是用「刀」切了一下,就切出来了!你也许会说,我如何才能断定这把刀有没有切在有理数集上呢?就是说,我怎样来判断分界点是不是一个有理数?事实上,我们只需要对这把刀做一个更加详细的规定,就可以解决这个问题。我们定义如下:

分割:设$Q$是有理数集,我们称$Q$的两个子集$\alpha,\beta$为一组分割,当且仅当它们满足以下条件:

  1. $\alpha \bigcup \beta=Q,\alpha \bigcap \beta=\varnothing$;($\alpha,\beta$刚好是有理数的两个部分)
  2. $\forall x\in \alpha,\forall y\in \beta$,都有 $x<y$ ;($\alpha,\beta$是有理数集的「左半边」和「右半边」,而不是各自零散取出来的点集)
  3. $\beta$中没有最小元。(那么很显然,如果$\alpha,\beta$的分界点$C$所代表的数是有理数,那么它一定算在$\alpha$中,否则它就会称为$\beta$中的最小元)

可以注意到,在这个描述中$\alpha,\beta$成为了有理数集$Q$的子集,而非之前我们所考虑的是「实数直线」的两段,这是为什么呢?因为我们要利用有理数集来定义实数集,也就是说我现在只知道有理数是什么、有哪些,而不知道实数是什么、有哪些;此外,记住我们这样定义的目的是为了区分有理数集中的(有理数)和空隙(也就是所谓的无理数),因而有没有实数集作为判断的背景,无关紧要。从而,这里所定义的$\alpha,\beta$,就相当于我们之前所定义的实数直线上两段中的有理点,也就是说我们用一把「刀」,把有理数集切成两半。至于上面所要求的$\beta$中没有最小元,仅仅是为了给从属不明的分界点$C$(「刀口」)划定一个明确的从属关系,把它划定到左边的那段$\alpha$上去。(你也可以定义分界点$C$在右边$\beta$那段上,那么定义的第(3)条就要改为「$\alpha$中没有最大元」了。)

那么,如何通过这样的分割来区分有理数和无理数呢?这里我举出两组分割的例子:

  1. $\alpha={r\in Q:r\leqslant 2},\beta={r\in Q:r>2}$;
  2. $\alpha={r\in Q:r<0或r^{2}<2},\beta={r\in Q:r>0,r^2>2}$;

你可以自己验证一下,上面所举出来的两组分割都完全符合我们的定义。比如第(2)组中,因为我们知道不存在有理数的平方为2,因而对所有有理数而言,它们的平方要么比2大,要么比2小——因而我把负有理数数和平方小于2的有理数(包括0)划在左边的$\alpha$中,平方大于2的正有理数数划在右边的$\beta$中,自然是一组分割。

现在我们来看一看这两组分割的分界点。在(1)中,我们可以很明确的说,它的分界点就是有理数2,原因是2是$\alpha$中的最大元,它大于$\alpha$中剩余的所有数,又小于$\beta$中的所有数,自然是它们的分界点了。那么在(2)中,情况又如何呢?你也许会说,这组分割的分界点就是传说中的$\sqrt{2}$,可是别忘了我们还没有定义实数——现在的分割只是有理数集的子集。那么,这样说来,(2)所代表的这个分割,便没有分界点了!这看起来很令人惊讶,但的确如此,因为这组分割中的$\alpha$没有最大元。

看得见的分界点和「看不见」的分界点

现在你想到了什么?没错,我们已经找到了一种几近完美的方法来区别有理数集的点与空隙。我只要依据前面的定义,构造一组分割,那么这样的一组分割要么可以找到分界点(刀口切在渔网上),要么就在有理数集中找不到分界点(刀口切在空隙里)——这个时候,我们把前一种分割定义为有理数,而把后一种分割定义为无理数,并且我们把所有的有理数集上的分割统称为实数,那么我们不是就完成这件由有理数定义实数的工作了吗?可以看到,分割这个概念,仅仅涉及到有理数,它的的确确可以只从有理数的概念出发,定义出整个实数系统。

总体说来,我们在这里,是通过用刀切出来的两部分点集,来定义切口,以区分它们是有理数集中的点还是有理数集外的空隙(无理数)——这看起来似乎很不合情理,有点像「用你左手无名指上的指纹来代表你这个人」的感觉;但是这也是一种必要的做法,原因在于在数学当中,利用这样的有理数子集来确定切口,比直接确定一个切口还要更方便、更直观。

实数集的分割定义:设$(\alpha,\beta)$是有理数集$Q$的一组分割,若:(1)$\alpha$中有最大元$r$,那么我们称分割$(\alpha,\beta)$为一个有理数,并且我们说这样定义的「有理数」与有理数$r$是等价的;(2)$\alpha$中没有最大元,那么我们称分割$(\alpha,\beta)$为一个无理数。同时,我们称有理数集中的所有分割$(\alpha,\beta)$所构成的集合为实数集,记之为$R$,称每一个分割为一个实数

现在真相可以揭晓了,以上所说的有关于利用「刀」和「切口」的概念定义实数系的思想,来自于数学家Dedekind(1831-1916),这也是目前最为人所津津乐道的实数构造理论。这种理论从有理数集的一种特别类型的子集——分割出发,非常直观形象的实现了用有理数定义实数的目的。当然,这种思想的本质,似乎还可以上溯到欧几里得《几何原本》中有关于直线分割的一些命题中。需要说明的是,我们在上面所做的一些定义与描述,仅仅相当于实数构造理论的一小步;除此以外,还需要定义实数的四则运算、序关系等等,因为我们在这里定义的「实数」其实并不是一个数,而是一组有理数集(分割),需要先利用集合的运算关系,来定义与我们所期望的实数运算与序关系对应的那些部分,最后再说明这种抽象定义的运算和序关系,和我们的数学直觉是一致的,那么我们就完成了利用这样的不是「数」的事物来定义「数」的工作。这是一件严谨而繁杂的工作,在此就不细说了。有兴趣的朋友不妨阅读一下菲赫金哥尔茨的《微积分学教程》,其中的开头就是以Dedekind分割理论构造实数的。

实数集具有完备性,对极限运算封闭。有理数则对极限运算不封闭。

想想看,能不能利用这一条性质来构造实数集呢?显然是可以的,关键就在于这个极限运算上。

仿照之前的「分割」的思路,我们只要利用有理数集作出一种特殊的数学结构,使得它既能代表有理数,又能代表无理数,那么也就可以构造整个实数集了。现在,既然有理数对极限不封闭,那么我们用有理数的极限来表示整个实数集是一定可以做到的:当某一列有理数的极限还是有理数时,这个极限自然就代表一个有理数;如果这一列有理数的极限不是有理数,那么它就代表无理数。如此想来,似乎一种新的构造方法就已经诞生了。

这个思路确实不错,但是还有一些问题。首先,我们之前已经说过,我们要只利用有理数来表示实数——那么,如果一列数的极限不是有理数,那它是什么呢?注意我们还不知道无理数是什么。这样,就陷入了一个逻辑上的困境——我们总不能说,不收敛到有理数的数列就一定发散吧?不妨看一看数列极限的定义,其中需要给定极限值$a$,但如何给定一个我还没有定义的数?其次,我们知道,有许许多多的数列都可以收敛到同一极限,那么究竟哪一个可以代表这个极限所对应的数呢?这两个问题不解决,逻辑上是站不住脚的。为了解决这一问题,你可以重新想想自己曾经学习过的高数课程,想想收敛数列有没有别的表示方法。

Cauchy收敛准则:一个数列${a_{n}}$收敛,当且仅当${a_{n}}$是一个基本数列,也就是说对任意小的正数$\varepsilon>0$,总存在着一个正整数$n$,使得任意两个下标大于$n$的数列项$a_{n+p}$和$a_{n+q}$间的距离$\lvert a_{n+p}-a_{n+q}\rvert<\varepsilon$。

注意我们在这里限定了$A$是一个有理数,想必原因已经不需要我再解释了——我们还「不认识」无理数。这样,我们对所有由有理数构成的基本数列,就可以将它们与有理数集中的数以「极限运算」的关系对应起来。是这样吗?当然不是,还有不收敛到有理数的基本有理数列,比如之前我们所提到的${e_{n}=(1+\frac{1}{n})^n}$,它就是一个基本有理数列,可是不存在任何一个有理数作为它的极限。这个时候,我们就可以说,这样的一个基本数列,代表着一个无理数。

实数集的基本数列定义

设${a_{n}}$是一个基本有理数列,若:(1)${a_{n}}$收敛到一个有理数$r$,则称${a_{n}}$为一个有理数,并且认为这样重新定义的「有理数」与$r$这个有理数是一个相同的概念;(2)${a_{n}}$不收敛到任何一个有理数,则称${a_{n}}$是一个无理数。同时,我们称所有的基本有理数列构成的集合为实数集,记为$R$,并称每一个基本有理数列为一个实数

这样就完成了吗?似乎我们还忘了一件事情:许多基本数列都收敛到同一极限。如果按照这样的定义,那么数列$(\frac{1}{2},\frac{2}{3},\frac{3}{4},…,\frac{n}{n+1},…)$和数列$(\frac{3}{2},\frac{4}{3},\frac{5}{4},…,\frac{n+2}{n+1},…)$就代表着两个不同的实数(因为它们不是同一个数列),然而事实上它们都代表着有理数1。因此,我们上面的这个定义还有一点问题。想要解决这个问题,我们可以利用数学中等价类的思想,把收敛到同一极限的基本有理数列合成一个等价类,再利用这样的等价类来定义实数集,这样就可以避免重复的问题。有兴趣的朋友,可以读一读哈工大刘培杰工作室编写的《无理性的判定》一书,里面对基本数列方法构造实数集做了详细的说明。顺便说一句,这本书是一本很好的课外读物,而且只需要中学的数学水平就可以轻松的读完。

最后,需要说明的是,利用基本有理数列构造实数集的方法,现在公认是由集合论的开创者Cantor(1845-1918)首先提出的。另外你也可以想想,其实利用十进位无限小数构造实数集的方法,本质上也是基本有理数列,只不过更为特殊、更为具体而已。(无理数近似值的位数取的越多,代表着这个近似越逼近该数,原因是每在小数点后多取一位准确的值,意味着这个近似值相对于被逼近的无理数的最大偏差就降低了一个数量级)

2.2 对实数构造理论的深入思考

上面我们对实数集的构造方法做了一个简单的介绍,可以看到这几种构造方法的思路都是从有理数集出发,利用有理数组合出一些数学结构,再用这些数学结构的特殊性来分别有理数和无理数,从而最终概括所有的实数。我相信以上所说的内容,对于一个已经学习过《高等数学》中极限部分的朋友而言都能够理解,对于曾在课堂上认真学习过其中至少一种实数构造理论的朋友而言则无非是一种通俗易懂的复习而已。不过,我相信读者可能还会有一些问题,比如说下面这几个:

  1. 为什么要用不是「数」的事物(有理数集的分割、基本有理数列)来定义实数?这样怎么能够与我们直观上理解的实数概念吻合?
  2. 实数的构造理论有没有什么基本的思路?构造实数集的核心思想是什么?  
  3. 为什么一定要用有理数来「构造」实数?而不是用自然数、整数?或者,为什么不能直接跨过自然数到有理数的过程,一步定义实数?
  4. 你为什么可以断定这样构造出来的东西就是实数系,而不是缺了一块或者多了一块?

现在来回答一下这几个问题。

  1. 首先,关于为什么要用不是「数」的事物来定义「数」,我们可以这样看待:所谓的「数」的概念,包括性质记号两部分。一方面,我们给数以不同的记号,比如$1,2.5,\frac{1}{3},\pi,…$,它们代表着不同的对象,而我们一般并不会区分一个数的记号和它本身(比如说,我们会说「$\pi$」是一个,但是实际上「$\pi$」只是一个记号,「$\pi$」所代表的那个才是一个可以用于加减乘除和算圆的周长的事物或者说对象);另一方面,数又是一个具有性质的对象集合,这种性质往往反映于不同的数之间,比如说加减乘除的关系,比如说谁大谁小的序关系,等等。包括我们之间所说的实数集的不可数性、连续性等等,也都是实数这个概念的性质部分。

    那么,我们定义实数集的思路是什么呢?事实上,我们在上一节中贯穿始终的,是我们要使得我们定义出来的事物满足它应该具有的性质——这个「实数集」要没有空隙,要对极限运算封闭,否则就不足以被称之为实数集。我们的定义是否是用「数」来定义「数」,则无关紧要,原因在于所谓的「数」也不过是一个记号,凡是具有「数」的性质的事物,我们都可以称之为数,只要再给这些东西以我们习惯的记号就可以了。比如,我们现在完全改用一组新的东西来定义自然数:

    \[N=\{零,一,二,三,……,第某个,……\}\]

    你会说,这不是我们认识的自然数啊!但是,只要这样的一个集合满足我们所认为的自然数应该具有的性质,比如说满足交换律($第某个+另外一个第某个=另外一个第某个+第某个$),满足结合律,任何数加上「零」都还是自己,等等,那么,这个集合就完全没有理由不被称之为自然数。最后,如果你执意认为自然数必须是1,2,3,那么你只需要对我们新定义的这个「自然数集」做记号上的改动就好了,我们记零为「0」,记一为「1」,这样就可以完全获得我们所熟知的那个自然数集。毕竟,我们把自然数集叫做自然数集,并不是因为里面有1,2,3……这样的记号,而是因为有1,2,3……这些记号所代表的数(再次强调,数≠记号),这些数满足相应的运算律,我们才把这样的集合看作自然数集。我们的定义关注的是性质,而不是记号。既然没有要求说数必须是什么样的数学结构,那么我把一个集合叫做数,或者把一个数列、一个等价类、直线上的一个点,甚至于把一个函数、一个曲面定义为「数」,都没有任何不可——只要你能对这些千奇百怪的数学结构定义相应的「加减乘除」,定义它们的「大小」,定义所有应该定义的东西,最终使得这样的数学结构能够运算能够比较大小,能够实现所有我们所认为的实数应该实现的「功能」,并且这种事物构成的集合能够完全符合我们所认为的「实数集」的期望,那么它就是一个实数集。下面,只要给这些集合、数列、点、曲面之类的东西以应该有的记号(比如说,在Dedekind分割理论中,我们就可以定义$\sqrt({2}=(\alpha,\beta)$,其中$\alpha={r\in Q:r<0或r^{2}<2},\beta={r\in Q:r>0,r^2>2}$),那么这样的事物,就已经成为了数学意义上的实数。

    至于以后要做实数的加减法,要用十进制小数来逼近无理数等等,我们则放心的应用我们直觉上认为的实数记号即可。$\pi$就是圆周率,$\sqrt{2}$就是那个边长为1的正方形的对角线长度,至于这个数是一组分割还是一个基本有理数列,则完全无需关心了,因为我们已经完成了实数的定义,现在实数就已经是,而不必在乎它先前是利用什么方法来构造的了(就像我们在中学中学习三角函数,当我们已经完成对于$\sin,\cos$这些函数的意义的定义以后,就无需关心它是$\frac{对边}{斜边}$还是$\frac{邻边}{斜边}$了——它们就是定义在整个实轴上的函数,至于它的具体值如何计算另当别论,我们只需要知道它确实是以一个函数而存在的)。我们费这么大的劲来定义实数,不是为了找到一种更方便表示无理数的方法(无限不循环小数这个概念已经足够方便了),而是为了要把实数特别是无理数与有理数的关系,用严谨的理论讲清楚,这样才能够使得这样一个事物在数学理论中是清晰的、没有歧义的。这从某种程度上说算是数学研究中比较繁琐和令人恼火的一步,但是没有这样的理论做基础,数学研究是不够稳健的。

  2. 你可能会说,数学家们费了这么大的心思,辛辛苦苦弄出来一个实数的定义,有必要吗?这里我们不妨再说说我们所认为的「实数」究竟是什么。

    实数应该是什么:实数是这样一组数的集合,使得我们在生活中的、在世界上客观存在或可能客观存在的所有具有测量性质的物体,完全可以利用这个集合中的数来进行测量和表示。换句话说,一条直线(一维的实体)上所有的点,都可以和实数集中的数一一对应

    上面我用一段似乎很拗口的话解释了人类对于「实数」的理解和期望,实际上我们所说的可以用来测量和计算的「数」(因而就不包括只在纸面上存在的复数之类),就是所谓的实数。这个实,就是真实,就是指对于我们所处的世界的真实。假想一下,如果我们所生活的世界是一个由固定大小、整齐排列的原子构成的「原子世界」,而且这个原子没有「一半」之类的概念,那么对于我们而言,我们的「实数」就是自然数而已,原因是在这个世界中真实存在的长度,不是原子的长度,就是原子长度的整数倍。这个世界中的直线上,将只有整数点。

    只需要自然数来度量的「原子世界」

    但是我们所处的世界并不是这样,我们所处的世界就是这样一个利用有理数也不能很好表示的世界;在我们的世界中,直线上不仅有整数点,也有有理数点,还有无理数点。因此,对于我们而言,我们的「实数」概念,就是我们今天所见到的这个样子,不仅有简单的自然数(代表着基本的度量单位和它的重复)、有理数(可以尺规作图作出),也有更加复杂的无理数——代表着我们利用有理数不能完全达到但真实存在的数量。采用有理数来定义形态未知的实数,是数学的发展所作出的选择,也是出于数理逻辑、可操作性等多方面的考虑。如果没有严格的实数理论,我们仍然可以进行数学计算、研究极限之类;但是这样的话,将不可避免的出现一些问题,特别是在有关于连续函数等概念的研究中,不可避免的需要对于实数结构的清晰认识才能够得到令人信服的结果。这就是为什么在我们已经基本上知道「实数」是什么的情况下还要严格定义实数的原因——我们需要对实数更加深刻的理解。(可以了解一下有关于分析算术化的历史)

  3. 关于为什么一定要用有理数构造实数,前面我的解释是:当时的人们认为自然数和以此为基础建立的有理数是一个比较显而易见的概念,不需要再做更加深入的考虑,可以视为一个客观存在、已经由「上帝」定义的数学概念;而实数则没有这么简单,因而我们要用「自然」的概念,来定义这种相对「不自然」的概念。因此,就要用我们已经熟悉的概念中最复杂的有理数,来定义比它更复杂的实数。 这是一个历史上的观点;在今天,人们已经不这么认为了。即使是最简单的自然数,也被数学家重新定义了——这里说的就是著名的Peano公理。这个时候,人们认为最基本的概念是集合和元素,而将数集视为一类具有特殊结构的集合。总体说来,数学家的基本原则是:尽量用最简单最基本的事物,来定义更加高级的对象。这种思想,应该来说是传承自欧氏几何,《几何原本》中就是以点、直线、面等作为基本概念(对它们不加定义,认为它们客观存在——这就是这些数学对象的记号),并用一组公理进行约束(这就是数学对象的性质),从而推演出我们能够理解和信服的几何定理。现代的数学理论,思路也大致如此。

  4. 最后一个问题,说句实话是不好回答的。前面我们大致介绍了数学家们提出的实数构造理论,他们的总体思路就是要利用我们在现实中可以看到的一个实数系应该具有而有理数还没有的性质(连续性、完备性),通过对有理数集进行特殊的处理,生成一个新的可以满足这些性质的数集,并定义其为实数集。那么,为了验证这样的集合就是我们想要的实数集,就得先讲明白我们想要的实数集是什么样的

    这似乎是个死循环:我还没定义出来实数集,我怎么知道实数集应该是什么样子!不,你知道的。回看上面我给出的「实数应该是什么」,你就知道,我们对于实数有一个大致的期望,我们会希望实数集应该是一个表示所有可能测出来的量的集合 ;因为我们在生活中可以作出任意的有理数(先得定一个基本单位,称其为1),又可以验证有无理数的存在,因而所有这样可能出现的量的总和,就是我们期望的实数集合。

    在图上作任意有理数的一种方法(尺规作图中比较简单的问题)

    当然,数学家不会满足这么笼统的概念了;他们通过更加细致的思考和研究,归纳出了一个实数集应该是什么样——这就是下面一小节即将介绍的实数公理系统。因而只要证明了你所构造出来的「实数系」完全符合这个实数公理系统的要求,那么它就是我们认可的实数系了。那么,实数公理系统的正确性就很重要了,毕竟这个公理系统是人为设定的;不过,下面我将会详说,为什么这个公理系统是站得住脚,是靠得住的。

总体说来,实数构造理论可以说是基础数学理论中最吸引人,最有特点的一部分,也是现代数学理论的开端之一(当然,也是数学课程中第一个让人头破血流和一脸懵逼的内容→_→ )。从那以后,在极限和微积分理论、几何学等数学方面中,严谨的理论逐渐的建立起来,以往只关注结果而不关注证明之逻辑正误的数学家也开始重视起逻辑的正确性。不过,这一过程是复杂而曲折的,而且实数理论/无理数理论的发展,从某种意义上来说算是一个历史遗留问题,可以上溯至所谓的「第一次数学危机」。总之,如果你有兴趣在这方面了解的更多,可以去读读《古今数学思想》或者其他一些数学史方面书籍中的有关章节,这里难以一言尽全,因而就不再勉强叙说了。

2.3 实数公理系统

记得之前我曾经强调过的一件事情吗?在利用有理数构造实数的工作完成以前,绝不能够随随便便的说「实数」是什么东西;但是现在既然我们已经知道利用有理数可以构造实数集了,我们就可以反过了,看一看能不能先定义实数,再把有理数、整数等等概念当成「特殊情况」来处理。这当然是一件理论价值大于实际意义的事情了,不过你很快就会看到,这样可以把实数集从繁杂的构造理论中解脱出来,并能够让我们更好的把握实数集的性质。

大概是在1899年,Hilbert(1862-1943)提出了实数公理系统,也就是将实数之前的自然数、有理数等概念刨去不提,直接由「数」这个概念对实数集进行了定义。注意,他没有定义「数」是什么——今天一般把这里的「数」看成是存在着四则运算和序关系的集合中的元素。还有「$=$」关系,我们可以理解为就是「同为一个事物」,也不再单独定义。

实数公理:以下四组公理,合称实数公理。

(I) 域公理
对任意的$a,b\in R$,有$R$中惟一的元素$a+b$与惟一的元素$a\cdot b$分别与之对应,依次称为$a,b$的和与积,满足:
  1. (交换律) 对任意$a,b\in R$,有 $a+b=b+a$,$a\cdot b=b\cdot a$。
  2. (结合律) 对任意$a,b,c\in R$,有$a+(b+c)=(a+b)+c$,$a\cdot(b\cdot c)=(a\cdot b)\cdot c$。
  3. (分配律) 对任意$a,b,c\in R$,有$(a+b)\cdot c=a\cdot c+b\cdot c$。
  4. (单位元) 存在$R$中两个不同的元素,记为$0,1$分别称为加法单位元与乘法单位元,使对所有的$a\in R$,有$a+0=a$,$a\cdot 1=a$。
  5. (逆元) 对每个$a\in R$,存在$R$中惟一的元素,记为$-a$,称为加法逆元;对每个$a\in R-{0}$,存在$R$中惟一的元素,记为$a^{-1}$,称为乘法逆元,使$a+(-a)=0$,$a\cdot a^{-1}=1$。
(II) 序公理
在任意两个元素$a,b\in R$之间存在一种关系,记为$>$,使对任意$a,b,c\in R$,满足:
  1. (三歧性) $a>b,b>a,a=b$三种关系中必有一个且仅有一个成立。
  2. (传递性) 若$a>b$且$b>c$则$a>c$。
  3. (与运算的相容性) 若$a>b$,则$a+c>b+c$;若$a>b,c>0$则$a\cdot c>b\cdot c$。
(III)阿基米德公理
对任意$a,b\in R,a>0$ 存在正整数$n$,使$n\cdot a>b$。
(IV)完备性公理
$R$中的任何基本数列都在$R$中收敛。

以上是实数公理的一种形式,当然也会有其他的一些形式,不过它们的本质都是一样的。这组公理看起来十分繁杂紊乱,不过只要我们仔细分析一下这组公理的结构,就会知道其中的每一条都是不可或缺而且恰到好处的。总之,记住一句话:实数公理系统的意义,就是告诉我们什么是我们心目中认为的实数集合的模样。

首先的两组公理,是(I)域公理和(II)序公理。第一组公理,约束了定义在实数集合上的四则运算,其中1-3是我们从小学就默记于心的加法乘法运算律,4是对于四则运算中非常关键的两个数0(加法不变元)和1(乘法不变元)的存在性要求,5相当于是对于减法和除法的规定。之所以称有关于四则运算的公理为域公理,自然是因为这组公理决定了实数集的一个重要属性:实数集是一个数域,或者简单一点说,是一个域。第二组的序公理,则详细约束了实数集上的大小关系,虽然看起来高深莫测,实际上无非是使这样定义出来的「$>$」关系符合我们的直觉,不会出现荒谬的结果。第二组公理,同样也揭示了实数集的一个重要属性:实数集是一个有序集。相反的,我们可以容易的制造出了一个不是有序集的集合,这说明有序这一属性,对于实数集来说也是很重要的。还有另外一个看起来很奇怪的(III)阿基米德公理,讲的是说给定任意两个正实数$a$和$b$,无论$a$多么小,$b$多么大,我们都可以通过把$a$叠加很多次的办法,使得叠加以后得到的数比$b$大。这看起来似乎是一个十分微不足道的性质,甚至好像是有点显而易见的,为什么要单独列出来作为一条公理呢?别着急,我们可以先把这个问题留在心中,等到之后再来解答。通常情况下,我们称满足阿基米德公理的集合是具有阿基米德性质的,因而(I)(II)(III)三条公理告诉我们,实数集是一个具有阿基米德性质的有序域

但是在这里我们并不想重点说这三组公理,因为事实上有理数集也恰好满足这三组公理——也就是说,有理数集也同样是一个具有阿基米德性质的有序域。(如果你对此有疑问,你可以尝试一下能不能举出有理数集中不满足这三条公理的反例。)这说明实数集真正特殊之处,并不在此。那么实数集究竟特殊在哪儿呢?实数公理中还有关键的一条(IV)完备性公理,它告诉我们,$R$中所有的基本数列都一定收敛在$R$里面。没错,这就是我们在这篇博客的第一部分中所举出来的实数集的第三条特殊之处,而这一点有理数集恰好做不到。可以说,这就是实数系之所以成为实数系的原因,也是实数系最重要的一个标志。

经过以上的一番分析,我相信你一定已经完全理解实数公理的要点了。那就是:

引理:有理数集$Q$是一个具有阿基米德性质的有序域。

实数公理(改写后):设一个集合$R$是从有理数集$Q$拓展而来的一个集合(也就是说,$Q \subset R$,并且$Q$上的运算和序关系也推广到了集合$R$中),并且$R$比$Q$还具有完备性这一性质,那么我们就称$R$是实数集。

现在,我想你之前有关于实数理论的大半疑惑已经消释了。数学家们苦心孤诣的利用有理数集构造实数集,就是为了让新的集合具有完备性;而在有理数集的基础上具有了完备性的集合,正是我们所期望得到的实数集。如果我们把无穷不循环小数看成是一个利用有理数(具体的说,是有限小数)逼近的过程,比如

\[\pi=(3,3.1,3.14,3.141,3.1415,3.14159,……)\]

那么实数集的必要性质,就是它可以把所有这样的逼近过程之结果(也就是无理数)都囊括其中,而这用数学语言来说,就是所谓的完备性。完备性正如它的名字所言,它反映了实数集已经将所有我们能够制造出来并且真实存在的数(度量)都囊括其中,无论是有限位的,还是可以表示成两个整数之比的,还是不能表示成任何有理数的,都没有漏下。

这里我们仍然把实数集$R$看成是有理数集$Q$的衍生物,不过实际上,我们也可以把$Q$的意义舍去,而把$R$看成一座「拔地而起」的高楼大厦。这正是Hilbert当年提出这一构想的初衷,他的观点是,利用有理数集构造实数集的理论本质上来说也是一种公理系统(最底层的是关于自然数的Peano公理,再往上是利用自然数构造有理数,最后是利用有理数构造实数),这种方法虽然仅依靠着比实数公理简单很多的Peano公理就可以成立,并且更加真切的反映了由简单到繁密的通常过程;但通过一组完善的公理来定义的实数集,在逻辑上则似乎更加简明,也更加站得住脚。

最后,我要补充说明一下,Hilbert当年提出的完备性公理和基本数列并无关系,而是这个样子的:

Hilbert形式的完备性公理:如果在实数集$R$中添加任何一个新的元素,不管我们如何定义这个元素与其他元素之间的加减乘除关系和运算关系,都会导致前面的(I)域公理、(II)序公理和(III)阿基米德公理中的某一条不能被满足。也就是说,$R$是能够满足公理(I)(II)(III)的最大的集合。

事实上这种描述才真正的体现出实数集$R$的所谓完备和「尽收囊中」,也正是我们说的:实数是一个能够涵盖所有可以操作实现的数的「集大成者」(参看2.2节中的「实数应该是什么」)。但是这一条描述是十分抽象的,从某种意义上来说不具有操作性,有点「晦涩」。在这里,我不想再花功夫说明为什么Hilbert形式的完备性公理和我们之前所说的与基本数列有关的完备性公理确实是等价,这件事情的难度是比较大的——不过也还是可以证明的。这里我把它作为这篇博客的结尾,留给读者,多花些心思想想:为什么基本数列是否收敛于集合中,就能够决定这个集合是否是完备的呢?想清楚这一点,就说明你已经了解为什么「实数」应该满足且仅满足这样的一些公理,从而实数构造理论也就站得住脚了。实数公理反映了我们对于客观存在的数量的最细致的理解,这些公理是独立(没有描述重复的内容)而且相容(不会产生矛盾)的,它是约束什么可以被称为「数」的最高准则。

以上我们介绍了有关于实数集的特殊性质和数学家们对其认知不断深入的过程,以一种比较简明生动的方法挖掘出实数的一些重要特征。以下,将继续这一主题,重点结合数学分析课程中的一个重点:实数定理,来分析实数集合的内蕴性质。

3 有关实数定理的深度思考

在前面的内容中,我们细说了实数集的有关特性,以及数学家为了认识清楚实数集而做的种种努力。以下,则将主要介绍有关于实数定理的内容。数学分析课程中一般都会对实数定理进行详细的介绍,但是关于这些定理从哪里来,代表着什么,如何在数学理论中发挥作用,我所见过的数学教材中往往含糊其辞,没有说清。这里,让我们结合之前对于实数集这个数学系统的讨论,来展开对于传说中的「N大」实数定理的介绍。

这里先将我们下面将要介绍的几条实数定理的相关链接列出来,以供参考:Dedekind定理确界原理闭区间套定理单调有界定理、上下极限定理、Cauchy收敛准则列紧性定理有限覆盖定理聚点定理、完备性公理。其中上下极限定理的说法不太常见,所以没有找到相关链接,将在下面进一步说明。完备性公理则已经讨论过,不再重复给出。

3.1 连续性和完备性的关系

还记得我们曾经归纳出来的实数集的三条特性吗?它们是不可数性连续性完备性。其中,不可数性代表了实数集的「多少」,但是它反映了是实数集的一种内蕴特征(或者说微观特征)——例如,我们把实数轴割成两半,那么其中的每一段上的数,仍然是不可数的。因而不可数性,反映的是实数集带有的一种「结构特征」,它对组成实数系的一些「单元」也成立。连续性表明了实数集合的一种形式上的性质,它表明实数集合中没有空隙,不会再因为任何原因而从中出现像有理数集中的「$\sqrt{2}$」那样的「网眼」,连续性使人知道实数是一个看起来完美的集合(实际上也很完美)。而实数集的完备性,则体现出实数集的本质:它已经将所有应该收纳的内容囊括其中,不能再添加新的元素了。它是我们生活中所能接触到的一切数的总集合。相比于前两条性质,完备性才是说明实数之所以被人们成为实数的原因,也告诉数学家什么样的集合才是实数集。因此,完备性这条性质,可以说是实数集的核心性质。

那么,连续性和完备性之间有没有什么关系呢?这就值得我们好好思考了。回想一下,连续性说的是实数没有空隙的性质,而完备性说的是实数集容纳一切的性质;那么,我把所有的空隙填上,不就等于让新的集合容纳一切了吗?这样看起来,似乎连续性和完备性,说的就是同一件事情。

和完备性不同,连续性似乎没有一个能够比较容易说清楚的方式。关于完备性,我想前文提到的Hilbert形式的完备性公理,应该已经非常简单明白了:它的意思就是说,实数集就是所有具有阿基米德性质的有序域中最大的一个,不能再大了,所以我们说它完备了。连续性能不能也像这样比较简单而又完整的表述出来呢?连续性说的是,「实数集中没有空隙」,也就是说如果我们不限定用数学语言描述,那就是

连续性公理:实数集$R$没有空隙。(???)

而我们在前文中也提过,Dedekind分割是定义这种「空隙」的最好的方法。分割理论中,所谓的「空隙」,就是将数集分为有大有小的两部分后,出现的不属于该数集的分界点。因此,借用之前我们对有理数集所定义的分割,我们可以将其推广到实数集上,并通过分割的性质来表述没有空隙的意义:

分割(有理数集分割的推广):设$A$是任意一个有序集,我们称$A$的两个非空子集$\alpha,\beta$为一组分割,当且仅当它们满足以下条件:

  1. $\alpha \bigcup \beta=A,\alpha \bigcap \beta=\varnothing$;($\alpha,\beta$刚好是$A$的两个部分)
  2. $\forall x\in \alpha,\forall y\in \beta$,都有$x<y$;($\alpha,\beta$是$A$的「左半边」和「右半边」)
  3. $\beta$中没有最小元。

连续性公理(Dedekind定理):设$R$是实数集,则对$R$上的任意一组分割$(\alpha,\beta$),$\alpha$必有最大元。

这样,我们就实现了对「没有空隙」这一性质的数学描述:任意在实数集上「切一刀」,「刀口」都是实数集中的元素——也就是$\alpha$中的最大元。

现在,我们来看看,能不能说明连续性公理和完备性公理是等价的。说明它们之间等价的最简明的方法就是证明逆否命题:如果这两个命题中任何一个的不成立,都会导致另外一个命题也不能成立,就说明这两个命题是等价的。

连续性公理$\Leftrightarrow$完备性公理的逆否命题:设$R$是一个 具有阿基米德性质的有序域(这里没有说$R$是实数集),则$R$不满足连续性公理$\Leftrightarrow$ $R$不满足完备性公理。


证明如下:

($\Rightarrow$)如果$R$不满足连续性公理,那么就存在着$R$上的一组分割$(\alpha,\beta)$,使得$\alpha$中没有最大元,$\beta$中也没有最小元。从这两点出发,我们可以分别在$\alpha$和$\beta$中取一个递增数列${a_{n}}$和一个递减数列${b_{n}}$,并且我们还可以使它们满足以下两点:

1.${a_{n}}$和${b_n}$都是基本数列;(这个时候由于我们不能确定它们有没有一个收敛在$R$中的极限,所以不能说它们是收敛的)

2.数列${a_n-b_n}$是一个收敛到0的数列。(由于$R$是一个域,故必有$0\in R$)

现在,我们看到,由于${a_n}$和${b_n}$都是基本数列,因而它们都应该有一个确定的极限;同时,又由于$\lim_{n\to\infty}(a_n-b_n)=0$,因而只要这两个数列的极限都存在(这里的存在是说它们收敛到一个$R$中的数),那么它们的极限一定相等,不妨记之为$c$。但是,由于$\alpha$中没有最大元,所以一定有$c\notin \alpha$——否则,$\alpha$中一定有比$c$还大的数$c_1$,而根据我们上面对数列的要求2,就将有

\[\lim_{n\to\infty}a_n=c=\lim_{n\to\infty}b_n<c_1\]

由$\lim_{n\to\infty}b_n<c_1$我们可以知道一定存在着$b_k<c_1$,也就是说有一个在右分割$\beta$中的数竟然小于在左分割$\alpha$中的数,这是不可能的。由此知道,只能有$c\notin \alpha$。同样的道理,由于$\beta$中没有最小元,因此也就一定有$c\notin \beta$,这样的结论就是$c\notin R$,从而说明$R$也不满足完备性公理——我们找到了至少两个不收敛于$R$中的基本数列。

($\Leftarrow$)如果$R$不满完备性公理,那么就存在至少一个不收敛在$R$中的基本数列;而且这样的基本数列一定不止一个,因为我们任何一个基本数列中的有限项,都不会改变这个基本数列的极限,因而我们一定可以找到一个严格单增且不收敛于$R$中任何一个数的基本数列${a_n}$。现在,让我们在$R$中构造这样两个集合:

\[\left\{\begin{matrix}\alpha=\{r\in R:\exists k\in N s.t. r<a_k\};\\ \beta=\{r\in R:\forall k\in N, r>a_k\} \end{matrix}\right.\]

首先,我们需要说明这样的$(\alpha,\beta)$确实构成一组分割。现在来分别验证$\alpha$和$\beta$是否满足分割的定义:

(1)对任何一个不在数列${a_n}$中的数,其要么比所有的数列项都大,要么就比该数列中的某一项要小,因而其一定在$\alpha$或者$\beta$中。而对于${a_n}$中的任意一项,都有$a_k<a_k+1$,从而根据$\alpha$的定义,${a_n}$中的所有元素都在$\alpha$中。由此说明$\alpha\bigcup\beta=R$;而$\alpha$与$\beta$没有交集是显然的。

(2)任取$x\in \alpha,y\in\beta$,那么根据$\alpha$的定义,存在${a_n}$中的一项$a_k$使得$x<a_k$,又根据$\beta$的定义有$y>a_k$,故$x<y$总是成立的。

(3)现在我们假设$\beta$中有一个最小元$y_0$,那么$y_0$将大于数列${a_n}$中的所有项,而且只要$y_0$再减少任何一个正数$\varepsilon >0$,都会使得有一个数列中的项比$y_0-\varepsilon$大。这意味着什么?这意味着$y_0$就是${a_n}$的极限啊!不妨比对一下下图:

(后面将会说到,这就是确界的概念)

证明这样的$y_0$确实就是基本数列${a_n}$的极限,需要进行一些比较乏味的说明(需要说明为什么这样子的$y_0$可以使得$\lvert a_n-y_0\rvert$任意小)。在此我不想把这个过程罗列出来,你可以自己尝试一下(数学证明题中的家常便饭)。总之,我们的确可以证明$y_0$确实就是数列${a_n}$的极限,但是根据我们的假设,$R$不满足完备性公理,因而${a_n}$不可能有一个$R$中的极限。而$y_0\in \beta \subset R$,从而这样的$y_0$是不存在的。以上说明,$\beta$不可能有最小元。

根据以上三点极其乏味的证明,我们验证了$(\alpha,\beta)$确实是$R$上的一组分割。现在,我们马上就可以说明,$R$一定不满足连续性公理!也就是说,$\alpha$一定没有最大元!原因在于,如果我假设$x_0$是$\alpha$中的最大元,那么我们用类似的方法也可以证明$x_0$将是${a_n}$的极限,而$x_0$却在$R$中,因而这样的$x_0$也是不存在的。总之,$R$一定无法满足连续性公理。▌


以上我们证明了连续性公理和完备性公理这两个命题,对于一个具有阿基米德性质的有序域而言是两条等价的性质。这说明,连续性和完备性,说的就是同一件事情:实数系已经「尽善尽美」,没有遗漏。

但是注意我们的前提:连续性和完备性等价,是对于具有阿基米德性质的有序域而言。那么,如果是一个不具有阿基米德性质的有序域,连续性和完备性是否还等价呢?这个时候的答案却是否定的。这也就是为什么在实数公理中,我们要单独的列出来阿基米德性质这样一条看起来十分多余的命题作为公理,并与完备性公理并列的原因。

有序域中连续性与完备性的关系:设$Q$是任意一个有序域,则$Q$满足连续性公理 $\Leftrightarrow$ $Q$同时满足阿基米德公理和完备性公理。

是不是有点出乎你的意料?这其中的关键原因,是看起来十分显然的「阿基米德性质」并不是一个对所有有序域都成立的性质。事实上,在数学理论研究中,有一些不满足阿基米德公理的有序域,其中比较著名的就是利用数论中的p进赋值函数对有理数集重新进行定义的p-adic集($Q_p$);这里我不想对其做任何更加详细的介绍,因为这一部分内容属于理论价值大于实际意义的知识;但是可以说明的是,在$Q_p$这个数集中,由于对序关系、两个数之间的「距离」(在一般的数集中距离就是绝对值,在$Q_p$中则用另外一种方式定义)等联系有理数的结构重新进行了定义——相当于重新把有理数排了个序,因而使得在这种序关系下组织起来的有理数集竟然具有了完备性,但同时又是一个不满足阿基米德性质的集合。证明连续性等价于阿基米德性加上完备性的工作超出了我希望讨论的范围,因而在此,为了让读者对这个说法更加信服,我只证其中的一个小部分:

命题:设$Q$是任意一个有序域,则$Q$满足连续性公理 $\Rightarrow$ $Q$具有阿基米德性质。


证明如下:

我们来证它的逆否命题,也就是说当$Q$不满足阿基米德性质时,其一定不具有连续性。

为此。我们假设$Q$不具有阿基米德性质。那么根据阿基米德公理的说法,我们就可以找到一个正数$a_0$,使得任意的$b>0$(其中要求$b$不是$a_0$的整数倍)和任意的正整数$n$,都有$na_0\leqslant b$;换句话说,$Q$有一个不是0的无穷小量$a_0$。现在我们在$Q$上取两个子集

\[\alpha=\{r\in Q:\exists k\in N使得r<ka_0\},\beta=Q\setminus \alpha\]

不用说,首先需要验证这样的$\alpha,\beta$确实构成了$Q$上的一组分割,这里我就不再细说了,总之可以证明这样的$(\alpha,\beta)$确实构成了一组分割;而这个时候,我们可以看到$\alpha$中必然没有最大元,因为对于任意的$n\in N$,都有$na_0\in \alpha$。这样,就说明$Q$是不满足连续性公理的。▌


以上的这个证明非常的滥竽充数,另外也不太严谨——如果你能指正这个证明中的问题,或者有更好的证法,欢迎在评论区中留言。总之,只要认识到连续性就是阿基米德性质和完备性的综合,就已经足够了;事实上,我们在下面更多讨论的,是连续性和完备性,而且我们也不会碰到不满足阿基米德性质的集合,因此只要在阿基米德有序域中这两条性质是等价的,就无所谓了。以下部分中,我们将把完备性和连续性看成等价的概念。

有兴趣了解更深的同学,不妨在网上搜一搜有关于p-adic数集(或者说p-进数)的内容,了解有关这方面的书籍或者其他相关内容(本人了解很少,不知道有哪些),仔细研读,会对上面我含糊其辞的部分有更深的体会。

(补充说明:从某种意义上来说,阿基米德性质反映的是一个集合的形态应当与直线上的点的形态相似,它们可以按顺序排开,并且既没有最大元有没有最小元——有理数集和实数集都可以做到;而完备性则是反映一个集合的没有空隙——有理数集做不到,而实数集能够做到。总体概括起来,就是反映出一个集合能够与直线上的点一一对应起来,这也正是连续性的最简单的解释。)

3.2 实数定理是从哪里来的

现在开始,主要介绍本篇的核心内容——实数定理。

我相信,各位对实数定理有所了解的朋友,你们第一次接触这一部分内容基本上都是在学习数学分析或者类似课程的开始阶段。实数定理(有时候也包括实数构造理论)往往作为数学分析这门课程的「逻辑基础」,在课程刚开始的内容中加以讲述。但是你知道实数定理究竟有什么用吗?

如果一个有关于实数集的命题能够反映实数集的连续性或者完备性,那么我们就将这个命题称为实数定理。也就是说,每条实数定理都是实数公理系统中的完备性公理或者连续性公理的等价形式。

实数定理能够反映实数集的核心性质——连续性(完备性),因而我们可以给它们直接冠以「实数」的名号;实数定理就是实数集的一个标识符。那么为什么会有那么多条实数定理呢?国内的有些数学教材中,会列出六条、七条乃至八条实数定理,并采用「论证环」的方法证明它们是等价的(有的则是两两等价证明),这一部分内容可以说让一般的学生都大伤脑筋,比起极限理论中的「$\varepsilon-\delta$语言」来有过之而无不及。这样多的等价形式,都是怎么来的?为什么一定要把它们都罗列出来?

其实总体说来,实数定理并不都出自于对实数理论的研究。例如,单调有界定理和Cauchy收敛准则,主要关注的是数列的性质,是从算术方面来考虑的,属于极限理论发展时期(约十九世纪中叶)的产物;有关于点集的有限覆盖定理、聚点定理等,其用「数」来表示的形式出现的比较早,但其变为今天我们看到的形式,则是在点集拓扑学科发展起来以后(约二十世纪初)才有的事情;至于我们前面说到的Dedekind定理(连续性公理)、完备性公理等等,则是实数理论的产物。它们的来源各异,描述的事情、方法和对象也有所不同,然而最终却能够证明它们相互等价,对于我们这些还没有接触到广阔数学世界的人而言,实在是一种不可想象的事情。

从某种意义上来说,所谓的「N大」实数定理,其实来源各异,不必一起给出;若一定要都顾及到,则有必要将它们看待实数集的角度说清楚,是把实数集看成一个点集?还是看成一个算术范围?还是看成极限理论的背景和载体?有些教材在这些方面写得不是很好,不过似乎这几年来新出版的数学分析教材中,都加强了与其他课程内容的融合,比如说先讲一点点点集拓扑的内容,这样就能够让读者理会为什么这些命题也能够描绘实数集的特性。

絮叨这么多,总之想说明的就是:实数定理可以具有很多种形式,但它们说的都是一个问题、一个现象。将其中任意一个作为实数公理中的一部分,都可以构建出合乎要求的实数系,而其它的命题则相当于是推论。这就是利用公理来构建实数集合的精妙之处。之所以要给出这么多定理,其实从某种意义上来说,是因为它们各有长短,在实际应用中各有方便之处;请容我一个个来分析。

3.3 实数定理之间的关系与异同

以下,我将根据命题所描述的特征,将它们分为三组:有关于序关系的分为一组,有关于点集特征的分为一组,Cauchy收敛准则、Hilbert形式的完备性公理和Dedekind定理则单独列一组。

3.3.1 序关系:确界原理,上下极限定理,单调有界定理,闭区间套定理

确界的定义:设$A\subset R$为实数集的一个子集。如果$a\in R$大于等于$A$中所有的数,并且$a$是满足这种性质的最小的数(也就是说任何比$a$小的数都不可能大于等于$A$中所有的数),则称$a\in R$为$A$的上确界,记作$a=\sup A$。同样的,我们也定义小于等于$A$中所有数的那些数中最大的数$b$为$A$的下确界,记作$b=\inf A$。

(换句话说,如果$a=\sup A$,则对$\forall\varepsilon>0$,都存在着$a_x\in A$,使得$a-\varepsilon<a_x$。或者说,$\sup a$就是$A$的最小上界。)

确界原理:设非空的$A\subset R$,则$A$有上界$\Leftrightarrow$ $A$有上确界,$A$有下界$\Leftrightarrow$ $A$有下确界。

上下极限定义:设${a_n}$为一个$R$中的数列,若其有收敛到$R$中的子列${a_{n_k}}$,则称这个子列的极限$c\in R$为${a_n}$的极限点。令集合$E$表示${a_n}$所有的极限点构成的集合,若$\sup E$和$\inf E$均存在,则称它们分别为${a_n}$的上极限和下极限,记作$\limsup_{n\to\infty}a_n$和$\liminf_{n\to\infty}a_n$。

上下极限定理:若${a_n}$为$R$中的有界数列,则其上极限和下极限一定都存在。

单调有界定理:$R$中任意有上界的单增数列或有下界的单减数列必定收敛在$R$中。

闭区间套定理:设$[a_1,b_1]\supset[a_2,b_2]\supset…\supset[a_n,b_n]\supset…$为$R$中一组存在着包含关系的区间套,且满足$\lim_{n\to\infty}(b_n-a_n)=0$,则必存在唯一的$\xi\in R$使得其满足

\[\{\xi\}=\bigcap_{n=1}^{\infty}[a_n,b_n]\]

以上四个实数定理,都与序关系密切相关;其中,确界原理和上下极限原理都依赖于一个关键概念——确界的性质。因此,我们可以先来分析一下,确界究竟是什么东西。

根据定义,确界指的是一个数集(或者说存在序关系的点集)之「上界的最小元」或者「下界的最大元」,也就是「最小上界」或者「最小下界」。这个概念是非常有用的;仔细想想,我们想描述一个数集的边界,光用「上界」「下界」是不够的;一个数集的上、下界只是指的一个比这个数集中所有元素都大或者都小的数,但是它可以特别大,也可以特别小,不能真实反映我们想要的那个「边界」的意义。只有限定是「最小上界」和「最大下界」,才能找到一个能把数集的分布范围框死的量。就像对于函数而言,只有「最小正周期」才是一个关键的概念,你可以说$4\pi$是正弦函数的周期,你甚至可以说$-2147183648\pi$是正弦函数的周期,但是只有最小正周期$2\pi$才是我们关心的那个量。

上确界——最小上界;下确界——最大下界

现在需要注意一个问题:一个数集的上确界是不是一定在这个数集中?换句话说,是不是一个数集的上确界就是这个数集中的最大元?想当然的说,那还用问?一个数集的最大元肯定是它的上确界(最小上界)啊!没错,如果一个数集有最大元,显然根据定义这个最大元就是其上确界;但是如果这个数集没有最大元——这对于无穷集合来说是一件很容易做到的事情(比如说让边界上的点无穷逼近但不到达某个数),那么它的上确界是什么呢?

回想之前我们所涉及到的一些概念:分割的分界点,基本数列的极限,「渔网」上的线和洞……其实,所谓的确界,正是这样一个概念。对于一个没有最大元或者最小元的数集而言,它反映的就是这个集合与它的所有上界构成的集合之间的那个分界点,或者说是这些数的某种意义上的「极限」。

\[A=\bigcup_{n=1}^{\infty}[1,2-\frac{1}{n});\] \[sup A=2\notin A.\]

没有最大元的数集的上确界——不在该数集中

一个集合的上确界可以在其中,也可以不在其中;如果上确界在该集合中,那么其就是这个集合的最大元;如果上确界不在该集合中,那么一方面这个集合一定没有最大元,另一方面上确界就是这个集合和它「右边」的点的分界点。这就是上确界这个概念之意义所在。我们可以想象一下,在具有连续性的实数集中,确界原理应该成立;否则,如果确界原理不成立,就意味着有一个$R$中的数集,不仅它自己没有最大元,而且它的上界集合也没有最小元——这不正是说$R$中出现了一个空隙吗?

没有确界——有空隙

以上分析告诉我们,确界是又一种用来表述一个集合中的「空隙」的绝妙方法。既然如此,确界原理和连续性公理等价,原理上应该基本上是可行的。当然我们在这里先不严格证明这一点,只是先从直觉上来说明这两个命题说的应该是同一件事情。

另一个和确界相关的定理是上下极限定理。所谓上下极限,指的是一个数列的所有收敛子列之极限构成的集合的上确界和下确界,这一概念显然比数列极限的概念要宽泛,因为一个数列不一定有极限,但当其是一个有界数列时,其一定有收敛子列,因而也就一定有极限点(这本来是下面一个实数定理的推断,但是我们可以从心理认可这一点;如果你觉得这样不好,那就当我对上下极限什么都没说)。比如说,数列${b_n}=(1,-1,1,-1,…,(-1)^{n+1},…)$显然不收敛,但是其确有收敛子列,其极限或为1,或者为-1。因此根据上下极限的定义,就有$\limsup b_n=1,\liminf b_n=-1$。另外,我们可以知道若${a_n}$是一个收敛数列,那么显然有$\limsup a_n=\liminf a_n=\lim a_n$,因为${a_n}$的任何一个子列都收敛到同一个极限。

由于上下极限的概念依赖于确界的概念,因而说明上下确界定理成立$\Leftrightarrow$是一件比较容易的事情。不过在我所见到的教材中,一般都把上下极限定理作为上、下极限的一个很普通的性质来叙述,很少有编者在书中强调,这样一条简单的命题也是实数连续性的一种等价描述;因此,在这里我对这个结论多费一点文字,来说明其与确界原理的等价性。如果你对这一点不太感兴趣,点击这里跳过这一部分冗长而抽象的数学证明。


证明:在$R$上,确界定理$\Leftrightarrow$上下极限定理:

($\Leftarrow$)证逆否命题。如果上下极限定理对$R$不成立,说明$R$中存在着这样一个有界数列,其非空的极限点集合$E\subset R$没有上确界或者下确界。既然$E\subset R$,那么相当于$R$中就有一个没有上确界或者下确界的集合,确界原理当然不成立。

($\Rightarrow$)同样证逆否命题。如果$R$不满足确界原理,那么就存在着一个集合$A\subset R$没有确界(不妨设其没有上确界)。我们从其中一个一个取点,总能取出一个可列的点集$A_0\subset A$,同样没有上确界——这件事情并不太显然,但是要想证明这样做的合理性需要进行一些抽象的数学描述,意义不大,这里我们暂且当其为一件总是能够做到的事情。

现在,对于可列的点集$A_0$,我们可以对其中的点按大小排序并编号,也即

\[A_0=(a_1,a_2,a_3,…,a_n,…)\]

既然我们想要证明在确界原理不成立的情况下上下极限定理也不成立,那么我们只要构造这样一个数列${c_n}$,使得其极限点集$E_c=A_0$就可以了。为了做到这点,我们可以这样来构造$c_n$以达成要求:

首先,我们对于(\A_0)中的每一个数$a_k$,总能够构造一个以$a_k$为极限的收敛数列。那么,我们就可以对$A_0$中的任何一个数$a_m$构造一个与之对应的收敛数列 ${ {b_n}^{(m)}}$ ,使得

\[\lim_{n\to\infty}{b_n}^{(m)}=a_m\]

。你可能会说,既然(\A_0)中有无穷多个点,怎么可能都构造出来都写出来?事实上我们不需要真的把与每个$a_m$对应的数列 ${{b_n}^{(m)}}$的每一项都写出来,我们只要知道如何写出这样的数列——也就是构造的法则,保证我能写出任意一个 ${{b_n}^{(m)}}$ 中的任意一项${b_k}^{(m)}$就足够了。

现在,我们可以按照确定的构造法则,绘制一张数表,其中第i行第j列上的数就是${b_i}^{(j)}$,也就是与$a_j$对应着的那个数列中的第$i$个数。然后,我们按照「蛇形取数法」来构造一个新的数列${c_n}$,具体方法请看下图所示;显然任意的${b_i}^{(j)}$都将出现在这个数列中,而且根据集合势理论,这个${c_n}$确实是一个可列点集($N\sim N\times N$),所以${c_n}$确实是一个数列。

蛇形取数法

现在我们一眼就可以看出这个${c_n}$的极限点集$E_c=A_0$,原因是它包含了收敛到任何一个$a_k\in A_0$的子列。(同时,也可以证明$c_n$中也只有这些点。这不算一件太难的事,在这里就不做了)。那么,由于$E_c$没有上确界,因而${c_n}$也就没有上极限,从而上下极限定理不成立。▌

【附注:这个证明是比较糟糕的——很繁琐,但也有点无可奈何,原因是在数学领域中你很难碰到一个极限点集是无穷集的数列——一般的数列至多也就只有几个极限点而已。因此,不得不采取一种很繁琐的方法来构造这样的有无穷多个极限点的数列。显然,只有无穷集才有可能出现没有上极限的情况,因为任意的有限集合,其最大元就是上确界。】


总之,上下极限定理和确界原理确实是等价的。上、下极限是一个有用的数学工具,不过在数学分析课程中使用不多,因为数学分析中一般只限于研究收敛数列的问题或者数列单纯的敛散性。在更上层的课程(比如说实变函数论)中,上、下极限这个概念能够显示出其有用和方便之处(上下极限这个概念还可以推广到函数列和集合列上去)。

接下来还有两个命题,分别是单调有界定理和闭区间套定理。这两个命题是实数定理中最容易理解的两个,联系实轴上的图像,你会觉得这两个命题所描述的现象对于实数集而言是显然的。事实上,我们也可以把这两个命题与之前重点讨论的确界原理联系起来。在此之前,仍然假设我们对这两个命题的正确性一无所知。

对于$R$上的一个单增有上界的数列${a_n}$而言,我们可以说明,如果它是收敛的,那么一定有

\[\lim_{n\to\infty}a_n=sup\{a_n\}\]

(关于这一点,你可以尝试着在草稿纸上用「$\varepsilon-\delta$」语言来证明一下),而且只要$sup{a_n}$是存在的,那么${a_n}$就是收敛到这个数的数列。这一点其实不难理解:既然$sup{a_n}$是单调递增数列的上确界,意味着在这个上确界的任意小领域都必然积聚着无穷多个数列${a_n}$中的点——否则,如果这无穷多项的积聚范围不在$sup{a_n}$边,那么${a_n}$就不可能是单增的,这一点甚至通过画图就可以验证。既然如此,那么单调有界数列的收敛性就和确界的存在型紧密挂钩了,「一荣俱荣,一辱俱辱」。(其实我在这里没有讲反过来是否成立,就是会不会出现确界原理不成立而单调有界数列仍然收敛的情况;我认为这个问题的思路和我上面证明确界原理$\Leftrightarrow$上下极限定理的第二部分证明思路是相似的,应该也是可以讲清楚的事情。)

而对于$R$中逐渐收紧的区间套$\bigcup_{n=1}^{\infty}[a_n,b_n]$而言,我们可以把它们的两端端点列${a_n},{b_n}$分别看成两个单调有界的递增和递减数列,其中单增的${a_n}$的上界至少是$b_1$,而单减的${b_n}$的下界至少是$a_1$——说「至少」,意思是在我们继续分析两个数列之前就可以一眼看出来这两个很「松」的上下界。由于要求$\lim_{n\to\infty}(b_n-a_n)=0$,因而只要这两个数列都收敛,那么它们必然有一个相等的极限$\xi$,这也就是${\xi}=\bigcup_{n=1}^{\infty}$的原因。从而到这里就可以看到,闭区间套定理的成立依赖于单调有界定理——反过来,由于我们可以用两个单调数列任意构造区间套,因而我们可以看到,单调有界定理和闭区间套定理应该是等价的。严格证明不再给出,你自己就可以很轻松的证明在$R$上这两个命题的等价性。从这个角度讲,闭区间套能够以单调有界数列的形式,和确界的概念产生联系。

总之,以上我们或证明或说明了确界原理、上下极限定理、单调有界定理和闭区间套定理是四个等价命题。有关于这四个命题最核心的概念就是确界的概念,它反映了一个完备的有序集合上应该具有的性质,即每个有界点集的「边界」都应该在实数集中,而不会产生「时空裂隙」,产生一个不在实数集合中的边界点。这一概念与Dedekind分割理论中的分界点(「刀口」),或者Cantor基本数列理论中的极限,有着异曲同工之妙。

3.3.2 点集特征:列紧性定理、聚点定理、有限覆盖定理

列紧性定理(Bolzano-Weierstrass定理):有界点列必有收敛子点列。

聚点定义:设$A\subset R$为一个点集,$a\in R$是$R$中的一个点(不一定有$a\in A$)。若在$a$的任意一个邻域内,都有$A$中的点(不包括$a$自己),那么称$a$为$R$的一个聚点(或极限点)。

聚点定理:设$A\subset R$是一个有界无穷点集(有无穷多个点),则$A$必有聚点。

开覆盖定义:设$A\subset R$为一个点集,$\Gamma={E_\lambda, \lambda\in \Lambda}$为一个开集族(也就是说,$\Gamma$中的每个元素$E_{\lambda}$都是一个开区间)。如果$\Gamma$中所有开区间的并集$\bigcup_{\lambda\in\Lambda}E_\lambda$能够包含点集$A$,即

\[A\subset\bigcup_{\lambda\in\Lambda}E_\lambda\]

那么我们称开集族$\Gamma$覆盖了$A$,并称$\Gamma$是$A$的一个开覆盖。

有限覆盖定理Heine-Borel定理):对于$R$上的任意一个闭区间$[a,b]$,其任意一个确定的开覆盖一定有有限的子覆盖。也就是说,若$\Gamma$能够覆盖$[a,b]$,无论$\Gamma$中有多少个开区间,必然存在着$\Gamma$中的有限个开区间$E_1,E_2,…,E_n$,使得$[a,b]\subset\bigcup_{k=1}^{n}E_k$。

以上三个命题,反映的都是实数集作为一个「点集」的特征——这一部分内容,其实放在点集拓扑的课程中来讲更合适,但是由于它们在数学分析课程中也可以发挥作用,所以一般将其作为实数集连续性的等价命题列入「N大」实数定理当中。

列紧性定理看起来说的是一件很简单的事情:如果一个点列有界,那么其一定有收敛的子点列。在实数集中,点就是数,因而这个命题也就是说,有界数列必有收敛子列——从直观方面考虑,是比较好理解的。聚点定理,则说的是一个有界的无穷点集必然有聚点,其实只要你想清楚了聚点的含义,马上就可以知道,这两个命题说的完全就是同一件事情。

如果实轴上有无穷多个点(并且还是可列个,否则就不能被称为点列了)构成点集$A$,它们被限定在一个范围内,那么我们给定下面这样一个量

\[d=\inf_{x,y\in A}\lvert x-y\rvert\]

我们可以知道一定有$d=0$,因为只要$d$是一个大于0的量就意味着$A$中任意两个点的距离都大于$d$,那么我们所能得到的结果就是$A$无界,和我们的要求矛盾(你可以说这是阿基米德性质的一种体现)。既然d=0,我们马上可以推断出有无穷多个点积聚在实轴上一些点的周围——这些点就是所谓的聚点,从而我们在这里说明了聚点定理的意义。同时,如果我以$A$的任意一个聚点$a_0$为中心,取一列半径逐渐减小的邻域$B_{r_k}(a_0)$,并在每个邻域的范围内任取一个点,那么我就可以取到一个与$a_0$的距离逐渐减小的点列${a_k}$,它一定收敛于$a_0$。从而这里说明,只要聚点定理成立,我们就可以在任何一个有界数列中获得一个收敛于其聚点的子列;也就是说,聚点定理$\Rightarrow$列紧性定理。

这里需要特别注意,聚点定理和列紧性定理的描述对象还是有所不同的:列紧性定理描述的对象是一个有界的数列,因而其元素的个数必须是可数个;而聚点定理则对$R$中所有的有界无穷点集生效,这样的点集既可以是可数的,也可以是不可数的。因此,聚点定理似乎比列紧性定理概括的内容更加普遍。不过即便如此,我们也可以很轻松地证明列紧性定理$\Rightarrow$聚点定理,原因是无论有界无穷点集$A$是可数集还是不可数集,我们都能取出$A$的一个可数子集$A_0$(此时$A_0$可被看作点列,因而一定有收敛子列,也就一定有聚点),而$A_0$有聚点 $\Leftrightarrow$ $A$有聚点是显然的。

总之,聚点定理可以用一句话来概括:「 一抔之沙,渺若星辰;或遍于一片,或集为一体。」无穷点集,不是无界的,就是有界而且有聚点的——聚点定理说的正是这一点。

现在让我们来看一看有限覆盖定理,这个命题可以说是所有实数定理中最抽象和晦涩的一个。应该说,这个定理一点也不直观,很难将其表述成一种容易理解的形式;但是,我们可以先尝试着探索有限覆盖定理和其他实数定理的关系,也许可以从其中发现什么有用的东西。为此,先来看看能不能证明聚点定理和有限覆盖定理说的是同一件事情。


证明:聚点定理$\Leftrightarrow$有限覆盖定理

($\Leftarrow$)如果聚点定理不成立,那么我们就可以在$R$上找到一个没有聚点的有界无穷点集$A$,并且其处于闭区间$[a,b]$之间。由此我们知道,一定存在着一个正数$\varepsilon>0$使得任何一个长度小于等于$\varepsilon$的开区间中都只有有限个(或者没有)$A$中的点——因为如果没有这样的$\varepsilon$,就肯定有$A$的聚点存在了。由于我们可以很轻松的构造出一个$A$的开覆盖$\Gamma$使得其中所有的开区间长度都小等于$\varepsilon$——比如对$A$中的每一个点都取它们的半径为$\varepsilon$的邻域再并起来,因而根据这一点,我们知道$\Gamma$对$A$一定没有有限子覆盖,否则这个有限子覆盖所覆盖的$A$将是一个有限集。既然$\Gamma$对$A$都没有有限子覆盖,自然对包含$A$的闭区间$[a,b]$也不可能存在有限子覆盖。由此说明,在聚点定理不成立的情况下,有限覆盖定理也不成立。从而知道有限覆盖定理成立时,必然有聚点定理成立。(这里证的是逆否命题,当然也可以采用反证方法来证)

($\Rightarrow$)现在我们设聚点定理成立,要来说明有限覆盖定理也成立。设$\Gamma$是$R$上一个闭区间$[a,b]$的一个开覆盖,现在我们要证明,存在着一个正数$\delta>0$,使得以$[a,b]$中任何一个点$x$为中心,以$\delta$为半径的邻域$(x-\delta,x+\delta)$,都能够被$\Gamma$中的某个开区间覆盖。

如果这一点不成立,那么就对于每一个正数$m>0$,总能够在被$\Gamma$覆盖的闭区间$[a,b]$中找到一个与之对应的点$a_m$,使得该点以$m$为半径的邻域不被$\Gamma$中任意一个开区间所包含,即

\[(a_m-m,a_m+m)\nsubseteq (p,q), \forall (p,q)\in\Gamma\]

根据以上论证,我们就可以取一个开区间$(0,m_0)$(其中$m_0>0$)为我们的半径集,并对$(0,m_0)$中的每一个数$m$取一个对应的闭区间$[a,b]$上的点$a_m$,使得$a_m$的以$m$为半径的邻域不能被开集族$\Gamma$中的任何一个开区间所覆盖。记所有这样的$a_m$构成的点集为$A$,那么$A$可以被表示为

\[A=\{a_m\in [a,b]:不存在\Gamma中的开区间覆盖(a_m-m,a_m+m),m\in R\}\]

如果$A$是一个有限集,说明只有有限个点的邻域不能被$[a,b]$中的开区间覆盖,但我们知道这些点本身至少都在开集族$\Gamma$的某个开区间以内,那么只要我们缩小这些点的邻域半径到某一个很小的正数$\delta$,它们也就可以被$\Gamma$中的开区间覆盖,从而所有的点的$\delta-$邻域都能被$\Gamma$中的某个区间覆盖。这样我们就找到了我们所需要的那个$\delta>0$。如果$A$是一个无穷集,根据聚点定理,$A$理所当然的有至少一个聚点$a$。注意,$a$这一个单独的点显然能够被$\Gamma$中的某个开区间所覆盖,设这个开区间为$(p_0,q_0)$。而由于$a$是聚点,在其任意小的邻域内都有$A$中的点,那么肯定存在着一个$a_{r_0}\in A\cup(p_0,q_0) $,一方面其以$r_0$为半径的邻域不能被$\Gamma$的任何一个开区间覆盖,另一方面这个邻域又已经被那个覆盖了聚点$a$的开区间盖住,从而便产生了矛盾。这说明$A$不可能是无穷集。

这样,我们便说明对于闭区间$[a,b]$而言,存在着这样一个「安全半径」$\delta$,使得其上任意一个点的$\delta-$邻域都可以被$\Gamma$中的某一个开区间覆盖。这样,我们只要在$[a,b]$上取若干个点,使得覆盖它们每个点的那个开区间刚好能够覆盖整个$[a,b]$就足够了。这样的若干个点可以按照安全半径$\delta$的大小来取;但总之,所取的点的个数自然是有限个,因而对应的开区间数目也是有限个。由此,我们找到了$\Gamma$对于闭区间$[a,b]$的一个有限子覆盖。以上说明了,聚点定理成立必然导致有限覆盖定理成立。▌


你可能会说,这又是一个极为糟糕的证明,主要的原因不在于其冗长和繁杂,而在于这个证明好像不是构造性质的,没有描绘出来所谓的「有限覆盖」究竟是什么样的事物。这个可能得归罪于有限覆盖定理本身就是一个非构造性质的工具,因为其任意性太大(任意多个开区间构成的开集族都可以组成开覆盖),因而想给其做一个直观的描述,实在有些困难。不过不必着急,下面我们还会在适当的地方,再对这个抽象性很高的定理作更多的探讨。总之这里,我们说明了,这三个有关点击特征的实数定理确实是等价的。

3.3.3 Cauchy收敛准则、Hilbert形式完备性公理和连续性公理

Cauchy收敛准则:一个数列${a_{n}}$收敛到$R$中,当且仅当${a_{n}}$是一个基本数列,也就是说对任意的$\varepsilon>0$,都存在着对应的$n\in N$,使得数列中任意两个序号(下标)大于$n$的数$a_{n+p}$和$a_{n+q}$的距离$\lvert a_{n+p}-a_{n+q}\rvert<\varepsilon$。(越后面的项离得越来越近)

Hilbert形式的完备性公理:如果在实数集$R$中添加任何一个新的元素,不管我们如何定义这个元素与其他元素之间的加减乘除关系和运算关系,都会导致实数公理系统中的(I)域公理、(II)序公理和(III)阿基米德公理中的某一条不能被满足。也就是说,$R$是能够满足公理(I)(II)(III)的最大的集合。

连续性公理(Dedekind定理):设$R$是实数集,则对$R$上的任意一组分割$(\alpha,\beta$),$\alpha$必有最大元。

这三条命题,我想应该不需要再多做解释了,这些都是我们之前着重讨论过的命题,也是我们主要用来构建实数系统的依据。其实Cauchy收敛准则在这里,就是我们之前所给出的所谓「完备性公理」——其最大意义,就是给出了一种在 不需要考虑数列的极限究竟是什么「数」的情况下确定其能否收敛的描述方式,这样我们才能区分「收敛在$R$中」和「收敛但不收敛于$R$」。

关于Hilbert形式的完备性公理和Cauchy收敛准则之间的等价性,我在上一篇末留作疑问;这里我想给出一种直观上考虑的方式。Hilbert形式的完备性公理所要说明的,就是一件简单的事情:实数集中已经很完美,不需要再新加东西了。想要验证实数集是不是完美了,意义不大,原因是我们其实是按照「实数是一个完美集合」来定义的,实数集就是我们所要的那个完美的集合。不过反过来,从另一个角度看,只要说明了这样一件事情就可以找到Hilbert形式的完备性公理和Cauchy收敛准则之间等价的依据:

命题:$R$中还可以再添加一个 $a\notin R$ $\Leftrightarrow$可以在$R$中构造一个收敛到$a\notin R$的基本数列。

「还有空,快来!」

这个命题就是两种完备性公理等价的逆反命题,而这个命题的证明思路是比较容易想到的,只不过说明起来所用的数学语言会稍微繁杂一些。在此就不再深入讨论了。

3.3.4 各组定理间的等价性

现在要到最艰难的时刻了——我们应该证明这「N大」实数定理互相等价。不过,作为一篇博客,我当然不会在其中鼓捣太多晦涩不明的数学证明,这些数学证明可以在网上搜到(你可以在网上搜到那种包含了$N(N-1)$个证明的文章——你一定知道这个数怎么算出来的),并不需要我来抄写一遍。在前面三个小节中,我已经说明了三组定理各自都应该是等价的,虽然未必给出了严格的证明,但是至少从道理上比较明白的讲清楚了;现在,我只需要说明和序关系有关的定理组、和点集特征有关系的定理组都和包含连续性公理在内的第三组定理等价,那么我们就可以说,这「N大」定理确实都能够反映实数集的连续性。

在第一组序关系相关的命题中,我们已经讨论过确界原理和连续性公理应该是等价的,原因是确界这个概念同样能够反映数集里有没有「空隙」,一个数集中的有界无确界点集一定对应着数集中的「不连续点」。除开这一点,确界原理和完备性公理的关系也可以很容易的看出:如果一个基本数列是单调的,那么其极限和其某一端的确界就是完全等同的概念。确界这个概念相比于极限,有更大的优势——其中不涉及点集的变化过程,它就是一个「钉死」的量,就是「最大下界」和「最小上界」;而极限这个量与过程有关,不易把控。同时,确界是一个对任何形式的无穷点集都适用的概念,而极限仅限于数列——也就是可列点集,并且还受到点的顺序的制约。因此,确界在很多分析命题的证明中,是一个非常有用的工具。

在第二组点集特征相关的命题中,我们可以说明聚点定理和完备性公理的关系,选聚点定理主要是因为这个命题比另外两个更直观更好理解。我们可以想象一下,对于一个基本数列而言,其极限所对应的点必然是唯一的聚点;反过来,如果一个有界数列只有一个聚点,那么这个点一定就是这个数列的极限(相应的这个数列也必然收敛)。聚点的「任意大小邻域内均有点集中点」的特性,恰好与极限的定义是一致的(不断缩小聚点的邻域半径,就相当于数列向极限靠拢),唯一的不同是聚点的概念比极限的概念更加普遍使用——其对于一个不能被看成数列的点集(不可数集)——也同样适用,这和确界有点相像。不过聚点在分析课程中作为工具用来证明命题的时候不多(事实上除了用来证明其他的实数定理,我还没有见过别的⊙︿⊙),因为聚点只是反映有无限个点在其周围,其本身并不具有什么特征,只能依靠其周围的无穷多个点来帮助证明;而相比之下,一个点集的确界和这个点集的性质密切相关,其自身又具有「上(下)界」和「最小(大)」的双重特征,因而使用起来方便。总之,聚点定理和完备性公理的等价性,应该是比较容易就能说清楚的。

极限、确界与聚点

除了聚点定理,我还想讨论一下之前被搁置的有限覆盖定理和完备性公理的关系。在知乎上看到一位网友(匿名)的回答,对我非常有启发(原回答见此),以下就用他的一些想法来讨论问题。首先,我要给出一些非现成(瞎编)的定义,它们将有助于直观理解有限覆盖定理:

有限连通:设开集族$\Gamma$是闭区间$[a,b]$的一个开覆盖,$(p_0,q_0),(p,q)$为$\Gamma$中的两个开区间。如果$\alpha\in(p_0,q_0),\beta\in(p,q)$,并且$(p_0,q_0)\cap (p,q)\neq\varnothing$,则称$\alpha$在$\Gamma$下通过开区间$(p,q)$与$\beta$连通。又设$[a,b]$中的$m$在$\Gamma$下能够通过有限个开区间与$n$连通,则称$m,n$在$\Gamma$下有限连通。

有限连通定理:对于$R$上的任意一个闭区间$[a,b]$,若其有一个开覆盖$\Gamma$,则区间端点$a,b$在$\Gamma$下一定有限连通。

所谓的有限连通,就是说两个点能通过开集族$\Gamma$下的有限个开区间之并集相连起来,就像下面所展示的这样。上面提出(编造)的「有限连通定理」与有限覆盖定理,很显然是等价的,这里就不证了。

有限连通和有限覆盖本质上是一样的

现在我们来说明一下有限连通定理和确界原理的等价性质。


证明:有限连通定理$\Leftrightarrow$确界原理

($\Leftarrow$)假设确界原理成立。设[a,b]是$R$上的一个闭区间,$\Gamma$是$[a,b]$的一个开覆盖。定义一个集合$A$,其满足

\[A=\{c\in [a,b]:a,c在\Gamma下有限连通\}\]

显然,$A$是一个非空有界的集合,因而$A$有上确界$\sup A$,记之为$t$。可以说明,事实上一定有$t=b$;否则,$t$将是一个$(a,b)$间的数。由于$a,t$是有限连通的,因而相应的有一个开区间来覆盖$t$,那么$a$与这个开区间中除了$t$外的其他点也是有限连通的(它们都可以通过有限个区间连起来);但是很显然$t$不是这个开区间中最大的数(事实上开区间中既没有最大元也没有最小元),所以一定有比$t$更大的数也和$a$有限连通,故任意一个$(a,b)$中的数都不是$A$的上确界。由于限定了$A$是$[a,b]$的子集,故最后只能有$A=[a,b]$,从而$\sup A=\max A=b$,$b$必然在集合$a$中,从而$a,b$在$\Gamma$下是有限连通的。以上说明确界原理$\Rightarrow$有限连通定理。

($\Rightarrow$)以下说明,当确界原理不成立时,有限连通定理也不成立。这里我们为了简单明了,偷换一下概念:确界原理能够反映实数集的连续性,所以如果在实数集中确界原理不成立,相当于实数集不具有连续性或者完备性。那么,就可以在实轴上找到一个空隙$a_0$(我们假设只有这样一个空隙),它是$R$上某个基本数列的极限,但$a_0\notin R$。现有一个$R$上的闭区间$[a,b]$使得$a<a_0<b$——注意由于$a_0\notin R$,因而尽管它按照序关系在$a,b$之间,但是其不算在$R$上的闭区间内。同时,我们可以找到两个收敛到$a_0$的数列${a_n}$和${b_n}$,它们分别单增和单减的从两侧收敛到$a_0$,并且它们的所有项都在区间$[a,b]$以内。

现在构造一个开集族

\[\Gamma=\{(a-x,a_n)\cup(b_n,b+y):n\in N\}\]

其中的$x,y$是任意两个正的实数,目的是为了让开区间把区间端点$a,b$也包住。也就是说,$\Gamma$相当于是两列逐渐靠向$a_0$的「开集套」。我们可以证明$\Gamma$确为闭区间$[a,b]$的开覆盖,因为$a,b$之间除了不在$R$中的$a_0$以外其他所有的点都将被$(a,a_n)$和$(b_n,b)$中的某一个覆盖,只要n足够大。但在$\Gamma$下我们知道$a,b$不可能有限连通,因为$\Gamma$中的两列「开集套」没有交集。由此,我们知道在不具备完备性的实数集(准确的说,是一个不具备完备性的具有阿基米德性质的有序域)上有限连通定理不成立,因而当确界原理不成立时,有限连通定理也不能成立。反过来,当有限连通定理成立时,确界原理一定成立。▌

一个特殊的开覆盖


通过上面的这个例子,你是不是能够理解玄之又玄的「开覆盖」和实数集的连续性之间的一点联系了呢?假如实数集上的闭区间中有空隙的,其可以具有一个「中断」(即可以将开集族分为两个没有交集的部分)的开覆盖,而在完备的、没有空隙的实数集中「中断」的开集族是不可能覆盖整个闭区间的。这就是开覆盖有关于连续性的体现,同时也是开区间与闭区间这两种特殊的拓扑结构之特点的体现——开区间没有端点,因而没有最大元和最小元;而闭区间既有最大元,又有最小元。(从另外一个角度来讲,实数集上出现空隙$a_0$,相当于把其所在的那个闭区间$[a,b]$分成了$R$上的两个半开半闭区间$[a,a_0)$和$(a_0,b]$,在开的一端有限覆盖定理自然就不能成立了)

其实回看上面我所制造出来的这个等价命题「有限连通定理」,实际上是把有限覆盖定理中的开区间数目有限,换成了其所覆盖的闭区间端点的路径有限。这从某一个角度上来说,也可以反映连续性(「连通」)和有限覆盖存在这两点之间的关系。在数学分析课程中,有限覆盖定理虽然十分抽象,但由于其能够将无限化为有限,便于证明中的讨论或者反证,因而是一个十分常用的工具。特别是有关于有界闭区间上连续函数的一些性质定理(Cantor定理、介值定理、有界定理等),都非常适合用有限覆盖定理来证明。

总而言之,以上我们粗略的说明了以确界原理为代表的序关系类实数定理、以聚点定理为代表的点集特征类实数定理和连续性公理所在的一组实数定理都是等价的。因而,我们可以说,这些命题都可以反映实数集上的连续性质,都具有着非比寻常的意义;同时,它们也自然可以在实数集上,作为有利的数学工具使用。

3.4 更高观点下的视角

由于实数集能和直线上的点一一对应,因而实数集的连续性,其实反映的是一维空间中的一种特性。那么,在二维、三维乃至更高维或者更加特别(……准确的说是更加一般)的一些理论空间中,连续性和完备性有没有什么体现呢?由于我们主要讨论的是和数学分析课程有关的实数理论内容,所以在这里不必讲太多以外的内容。不过,还是稍微说一说实数集上的这两种性质(对于具有阿基米德性质的有序域而言它们是等价的)在描述更加抽象的数学对象的理论中的体现。

连续性$\rightarrow$连通性

回想一下「连续性」这个词的来历,其实它反映了我们对直线以及「应该」与之一一对应的实数集的一种直观印象——直线应该是「连续的」,应该是没有空隙的。在更加抽象的空间中,这种性质被抽象成了另一种说法——连通性。一般情况下,如果在某个空间中一个点集(我们还是假设这个空间里面的元素可以看成点)可以任意地被分成两部分,其中的一个部分总是包含着另外一个部分的边界点或者聚点,那么就称这个点集是这个空间中的一个连通集,其具有连通性。一般来说,连通性反映的就是一个集合是「一体」的,没有被分成若干孤立的部分。

典型的连通集和典型的非连通集

例如,在实轴上,连通集显然就是所有形式的区间(包括单独的点),并且没有其他的形式,这一点利用点集拓扑的相关理论可以证明。反之,比如点集

\[(0,1)\cup(1,2)\]

就不是一个连通集,原因是在1处将其分开,$(0,1)$不包含$(1,2)$的聚点和边界点1,反过来也不成立。(把聚点和边界点分开列,是因为这些概念在更一般的拓扑空间中推广以后,代表的是两个不同的概念。)这种将点集分为两半以验证有无空隙的方法,从某种意义上来说其实和Dedekind分割理论中通过分隔数集验证是否有空隙的思想是完全一致的——至于有没有什么启发和传承关系,我就不太清楚了。实数公理系统中的连续性公理(Dedekind定理),实际上说的就是「$R$是一个连通集」。因此,所谓「实数集的连续性」和连通性,一个是整体性质,一个是局部性质。

最后要说的是,连通性是一种拓扑性质——也就是说,把点集的形状变一变,或者对其中的点做一些合乎要求的变换,都不会改变连通性的成立与否。所以连通性对于一个点集而言,是一个很关键的概念。当然,这都属于别的课程中的内容,在这里就不讨论了。

完备性

应该说,完备性这个概念,在更加抽象的空间中,其形式与实数集合中的完备性是相同的,即依赖于一个空间中是否能够保证所有的基本点列(我们把空间中的元素都看成点)都收敛于该空间内。

一般来说,完备性只能在度量空间上讨论,所谓的度量空间就是说这个空间中的任意两个点之间都定义了一个「距离函数」。在实数集上,两个点之间的距离就是它们差的绝对值;在二维、三维(乃至更高维)的欧式空间中,两个点之间的距离就是它们之间的线段长度——比如二维空间$R^2$中的两个点$(x_1,y_1)$和$(x_2,y_2)$之间的距离为

\[d=\sqrt{(x_1-x_2)^2+(y_1-y_2)^2}\]

甚至,我们可以对$R$上的某个闭区间$[a,b]$中所有的连续函数建立一个空间,一般记为$C[a,b]$,那么这个空间中的每个「点」就是$[a,b]$上的一个连续函数,而且显然这个空间中的每个函数都是有界函数——因而我们就可以把这个空间上的距离定义为两个「点」,也就是两个函数之间的差异,比如说积分值的差异,比如说他们在$[a,b]$的最大值和最小值的差异,等等。总之,度量空间就是一个在其上定义了距离这个概念的空间(集合)。

假设我们在一个空间$A$上对其中的所有元素之间都定义了距离函数$d$,那么我们就构造了一个度量空间,记为$(A,d)$。我们把空间中的任何一个元素都看成点,那么度量空间上的完备性就可以表述为:

度量空间上的基本列:设$(A,d)$为一个度量空间,${x_n}$为$A$上的一个点列。若对任意的$\varepsilon>0$,存在着$n\in N$,当$n_1,n_2>n$时,就有$d(x_{n_1},x_{n_2})<\varepsilon$,那么称${x_n}$为$A$上的一个基本列

度量空间的完备性:若度量空间$(A,d)$中的任意一个基本列均有一个$A$中的聚点,那么称$(A,d)$具有完备性

事实上,上面所说的「聚点」就是基本列的极限,不过由于我们没有定义度量空间中的极限,因而暂且这样描述,毕竟前面已经说过一个基本点列只有一个聚点,那个聚点就是其极限。总之,以上有关于基本列和完备性的描述和在实数集上的是完全一样的,只不过把距离函数改为任意的了。因此,一个空间是否完备,很大程度上取决于这个空间的距离函数的定义。我们先前所举的那个不具有阿基米德性质的p-adic集$Q_p$,就是通过修改距离的定义,而使得原来按照差的绝对值定义距离的情况下不完备的有理数集,构成了一个完备的度量空间。度量空间是一个很重要的概念,不过在这里我们只是稍稍提一下,也就不扯远了。

最后,还想絮叨几句有关于实数定理的话。前面我们所提到的实数定理中,有下面几条可以推广到由实数集衍生定义的n维欧式空间$R^n$上去(平面直角坐标系下就是一个$R^2$空间,而立体直角坐标系下就是一个$R^3$空间,以此类推):

列紧性原理聚点定理有限覆盖定理闭区间套定理Cauchy收敛准则连续性公理

其中,前三个都是和点、点列、点集相关的量,很容易推广到$R^n$的任意点上(有限覆盖定理中的开区间,需要被推广为开集的概念);闭区间套定理所在的序关系类公理组,几乎都无法推广到$R^n$空间上,原因是我们一般不会(事实上也不能)在这类空间上定义任意两个点之间的「大小」,至多也只能定义它们的距离。闭区间套定理是一个例外,原因是闭区间这个概念可以在拓扑空间上推广为闭集的概念,这个概念不需要序关系的定义。Cauchy收敛准则的推广也就是上面所说的度量空间中的完备性定义,连续性公理的推广也就是之前所说的拓扑空间中的连通集定义。这些命题被作为定义使用,从某种意义上来说反映了抽象空间内的连续性和完备性概念,其根源仍然出自于数学家们对于实数集合深入的研究所受到的启发。毕竟,拓扑学的发展与繁荣,在实数理论发展起来以后。

4 实数集的性质:「数」的意义何在?

下半篇也接近尾声了,这里考虑到自己是在一个为开发者设计的博客平台上写和程序开发几乎没什么关系的文章,多少有点于心不安(???),所以还是想搞一点形式主义,说说这么理论化和抽象化的实数理论究竟能和计算机科学扯上几毛钱的关系。

数这个概念脱胎于真实世界,又远远的超出和远离了真实世界——数学的发展给人一种感觉,仿佛数学世界的扩张和人类所处的现实世界的发展变化完全处于两个平行运转、互不干扰的时空之中,数学家只不过是从现实世界中点亮数学世界中黑暗角落的那些人。因此,数学给人的一种印象,是一个「发明」与「发现」交织的学科——就像物理学家们探索真实存在的宇宙和微观世界中的黑暗角落一样,数学家用新的描述和新的命题来开拓数学世界中未知的片区。

其实我们讨论了这么多和实数有关的事情,最终无非弄明白了一件事:实数就是那个我们心目中尽善尽美,可以表示任何度量数据的数集,所谓的实数构造理论和实数公理,不过是把这种「完美性」用数学的语言表现了出来。例如所谓的「构造实数」,我们真的是在「造」实数吗?其实所谓的「分割」、「基本有理数列」等概念,它们就在那里,也就是说实数集本来一直都在,所谓的构造不过是将它们从有理数集这个复杂的结构里挖了出来,让所有人都能看到。

同样的,所谓的「无限不循环」的无理数,其实一直都在;既然我们定义了有限的和无限循环的小数,由于总是可以用这两类数来逼近无理数(或者说,只用有限小数就足够了),因而「无限不循环」小数是否存在,是否有意义,它究竟是真实存在还是永远是一个过程量,其实对于实在世界而言(对于理论领域当然十分要紧),真的无关紧要——我们总是能离这个概念特别的近,虽然我们永远到不了哪儿。事实上我们只知道一件事情:我们所能够实现的数,其实也就是有理数。

一台计算机可以表述任何一个有理数,只要给其以足够的内存(当这个有理数有小数点后许多位时是必须的);但计算机难以表述无理数。我们当然可以给计算机中写入一个表述$\sqrt{2}$的结构,让其满足$\sqrt{2} \cdot \sqrt{2}=2$,参与运算,这些都可以实现;我们也可以在内存足够的情况下,计算出$\sqrt{2}$的小数点后任意一位。但是即便如此,我们也不能把$\sqrt{2}$真正的制造出来,它要么是一个满足运算律的符号——就像你在做作业时对它的处理方式一样,要么就是一个足够精确的近似值用以计算相关的数据,但不会出现一个具有完整和真实性质的$\sqrt{2}$。唯一的可能,是你有一支可以画出宽度无穷小的直线的笔,画出一个边长准确相等的正方形,连接其对角线,这个对角线的长度就是其边长的$\sqrt{2}$倍——这个时候,我们才可以说,$\sqrt{2}$真实的存在于这个世界上了。

有理数和无理数的差异,反映了我们的理想认知和我们的客观条件的差异;我们可以把实数集的理论发展的这么深邃和有趣,但是我们的测量水平只能停留在有理数的领域以内。同样的,计算机可以利用符号法则处理整个实数系上的问题,但是那些都是依据于严格的符号法则;当理论无法给出符号法则(也就是所谓的解析解)的时候,计算机也只能和人一样,求近似解——计算机不过是比人求解数值的能力强大而已。总体说来,所谓的数学理论,既可以看作是比现实世界精细的——其超出了我们在客观世界中所能达到的观测水平,又可以看作是比现实粗糙的——数学理论中从来就没有什么精细结构,数学理论的研究方法已经限制了其无法研究过于特殊的问题,只能研究一般理论,而我们所处的世界,实际上每一处都是特殊情况,一个物体的长度也许「比无理数还无理数」。(这里我想说的意思是,由于我们只能观测到有理数,我们无法测准一个物体,无理数便可以理解为我们的观测水平达到一种极限情况的推断,也就是说当我们可以测得小数点后无穷多位的数据时,我们就得到了无理数;但是既然我们达到不了这样的极限情况,谁知道最后的那个可能的终点是「不如无理数无理数」呢还是「比无理数还无理数」呢?我们可没有关于这方面的Cauchy收敛准则。)这正是数学理论发展过程中与现实世界之间体现出来一种双重矛盾性,它反映出来我们对于「数」这个概念的认识,也许真的还有待提高。

后记:这两篇博客,原来是计划用文档的形式写出来,分享给16级少班的学弟学妹们的,那个时候我还没有考虑要写这么多内容,只希望讨论一点点有关于实数定理之实际应用的内容。因为去年在学习这一块东西的时候遇到很大阻力,后来课下做了很多功课才逐渐理解,受到的启发也很大,希望能够自己撰写一点像经验集一样的东西,让以后的人少走一点弯路,甚至有一些自己想到的新理解、新方法。九月份因为一些杂事,没有来得及写,加上后来又偶发奇想在博客园开了一个小站,所以决定把这一部分内容改在博客上完成。撰写这篇博客的过程中,各种新的想法新的理解如泉涌出,同时在过程中也发现自己原来有一些理解有偏差,因而总体说来篇幅加长了许多,多叙述了一些原来没有讨论的内容。撰写这两篇博客,没有什么功利的目的,只是希望能够对关于这方面知识有一定了解,但又觉得自己的理解不够深入或者不够形象的朋友以一点帮助,分享我有关于这些内容的一点多少算是有点片面的理解;另外一方面,也算是锻炼锻炼自己的打字能力 (-ロ-),打发漫长而无聊的国庆中秋长假。行文十分仓促,一些部分其实自己也觉得写的不太好,详略安排也有点不太合理,希望读者能就我在博客园发的第一篇文章以一些有益的建议,本人感激不尽。

又记:本文中涉及的证明过程由于比较多而繁杂,没有经过特别严密的检查,因而如果你发现有误,请在评论中指出,非常感谢。


参考文献

  1. M.克莱因.古今数学思想(第四册).上海科学技术出版社,1981
  2. 刘培杰数学工作室.无理性的判定-从一道2014年北约自主招生试题谈起.哈尔滨工业大学出版社,2015
  3. 王建午 等.实数的构造理论.人民教育出版社,1981

附录

附 1. 关于无限集无法与自己的幂集对等的证明

以下是一个在集合理论中非常经典的反证方法。首先说明,对于集合$A$,我们称$2^{A}={M:M\subset A}$为$A$的幂集,用以表示所有$A$的子集构成的集合或者说集族。也就是说,$M\subset A\Leftrightarrow M\in 2^{A}$。

假设无穷集$A$能与自己的密集$2^{A}$对等,那么就存在一个双射$\phi:A\rightarrow 2^{A}$,使得这两个集合上的元素一一对应起来。注意,如果$a$是$A$的一个元素,那么通过双射$\phi:A\rightarrow 2^{A}$,我们就可以把$a$这个元素和$A$的某个子集对应起来;这个子集,我们可以记为$\phi(a)$,相当于是$a$的「函数值」,和一般函数不同的是这个「值」是一个集合。

我们取一个集合,名为:$A_{B}={x\in A:x \notin \phi(x)}$,这个集合收纳了$A$的一类性质很糟糕的的元素,它们竟然不在它们的「函数值」集合中。这个集合特别奇怪,而且我们也不知道这个集合是不是空集;但是总之,这样的集合定义是通顺的,没有歧义。现在,我们来思考一个特殊的元素:由于$\phi$是一个双射,而$A_{B}$本身就是一个$A$的子集;那么就一定存在着一个$A$中的元素$x_{0}$使得$\phi(x_0)=A_{B}$。此时将会出现一个矛盾的情况:如果$x_{0}\in A_{B}$,那么根据$A_{B}$这个集合的定义,一定有$x_{0}\notin \phi(x_{0})$,但我们知道$\phi(x_{0})$就是$A_{B}$,从而就有$x_{0}\notin A_{B}$,这直接推翻了我们的假设;反过来,同样也会出现这样的矛盾。那么,这就说明,我们关于$A \sim 2^{A}$的假设是不成立的,所以它们不能对等。由此,完成了反证。

此外,我们也能很容易的知道,$A$的幂集的势一定比$2^{A}$的低。(这个你也可以想想是为什么,原因很简单)

附 2. 关于无理数集稠密性的证明

为了证明无理数集是稠密的,我们只需要说明任意两个不同的无理数之间都还可以再找到一个无理数即可。现在,我们取$b>a$为两个不相等的无理数,那么,它们的平均数$\frac{a+b}{2}$显然就在这两个数之间,不过它不一定是无理数(这与有理数时的情况不同了)。

如果$\frac{a+b}{2}$是一个无理数,自然就可以了;如果它是一个有理数,那么我们就可以说明$a$和$b$的右侧四分点$(\frac{a}{4}+\frac{3b}{4})$一定是一个无理数。原因在于,如果$\frac{a+b}{2}\in Q$,那么说明$b$可以表示成$r-a$的形式,其中$r$是一个有理数。那么这时候,$(\frac{a}{4}+\frac{3b}{4})$就可以用$a$表示为

\[\frac{a}{4}+\frac{3b}{4}=\frac{a}{4}+\frac{3}{4}(r-a)=\frac{3r}{4}-\frac{a}{2}\]

这个数一定是一个无理数,因为它是一个无理数和一个有理数的和差形式。这说明,无论$a,b$是什么样的无理数,在它们中间总能找到一个无理数,不是中点,就是右侧的四等分点。

附 3. 关于有理数必可化为有限小数或无限循环小数的证明

首先,我们知道,所有的循环小数一定都可以化为分母为$10^{m}(10^{n}-1)$的分数。假如说一个循环小数(我们不妨假设它在0到1之间,因为整数部分可以扣除)是

\[a=0.a_{1}a_{2}…a_{m}\dot{b_{1}}b_{2}…\dot{b_{n}}\]

其中$a_{1}a_{2}…a_{m}$表示不循环的部分,$b_{1}b_{2}…b_{n}$表示循环的部分。那么,给$a$分别乘上$10^{m}$或者$10^{m}10^{m+n}$倍,就可以分别得到

\[\left\{\begin{matrix}10^{m}a=a_{1}a_{2}…a_{m}.\dot{b_{1}}b_{2}…\dot{b_{n}}\; (1) \\ 10^{m+n}a=a_{1}a_{2}…a_{m}b_{1}b_{2}…b_{n}.\dot{b_{1}}b_{2}…\dot{b_{n}}\;(2)\end{matrix}\right.\]

这时可以发现它们的小数部分是一样的。故用(2)式减(1)式,再除以系数就可得到

\[a=\frac{a_{1}a_{2}…a_{m}b_{1}b_{2}…b_{n}-a_{1}a_{2}…a_{m}}{10^{m}(10^{n}-1)}\]

由于分子分母中都是整数,从而我们就已经将一个循环小数化为了分数形式的有理数。

现在我们既然要反过来证明所有的分数都可以化为有限小数或者无限循环小数,那么我只要说明,所有分数的分母都可以化为$10^{m}(10^{n}-1)$的形式(可以通过通分),而这种形式分母的分数又必然和某个循环小数对等,那么就说明所有的分数都可以化为无限循环小数(在这里,有限小数可以看为$b_{1}b_{2}…b_{n}$中$n=0$的情况)。因此,我们要证的命题就等价于:

命题:对于任意的$k\in N$,总存在着至少一组$m,n\in N$,使得$k$能够整除$10^{m}(10^{n}-1)$。

这时一个用初等数论就可以证明的命题,证明方法在这里,来自知乎上的@勥巭炛,在此一字不转,如果自己想不出来可以点开看看。(其实是我懒๑乛v乛๑)