实数系与实数定理(上)

本文已不再于此更新,最新版本请见:xjtu-blacksmith.cn/essay/real-numbers

平均阅读时间:25分钟

电脑上打开本网页效果更佳

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

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

废话不多说,开始正文。

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,…列出来等等,但总之你一定可以一个一个的列出来),而实数则多到不能够按顺序一个一个列出来——如果你列了一张表,上面一定有遗漏,而且遗漏的数量远比列出来的多。除此以外,还有以下几个结论成立:

①实数集上的任意一段有长度的开区间\((a,b)\)中的数所构成的集合与实数集是对等的;(这意味着即使是实数集中很小的一段也比整个有理数集的点要“多”)

②任何一个集合的幂集的势一定比它自己的势高(证明可见此处),这意味着对于任何一个无穷集,我们可以通过取幂集的方式获得比其所含元素更“多”的无穷集,因而也就不存在一个集合势最高的无穷集合;

有理数集和自然数集是等势的,而无理数集和实数集是等势的。前一个结论意味着我们可以通过一种方法将有理数一个一个列出来,使得任何一个有理数都将出现在这列数中(甚至还可以计算出它什么时候出现),具体来说是这样:

蛇形取数法

\[\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}\)也是一个有理数,而这种过程可以不断进行下去。整数与有理数关于“稠密”这一性质的差异,有如旷野上稀稀拉拉的游人与火车站的“人山人海”之间的差异(有理数事实上比“人山人海”更进一步,因为即使是人海之中也必然有相邻的概念)。

稠密性的抽象体现和具体体现(๑乛v乛๑)

你也许会联想到,实数与有理数相比,又是谁更加“稠密”呢?显然,用之前的方法,实数集也满足所谓“稠密”的定义(这一点是显然的,毕竟有\(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}\)间的距离\(|a_{n+p}-a_{n+q}|<\varepsilon\)。

Cauchy收敛准则告诉我们,收敛数列基本数列的含义是相同的,而基本数列这一概念中并不涉及到有关于极限的过程;其定义只涉及其中各项之间的关系,并不涉及该数列最终的某个“极限”。因此,如果我们改用基本数列作为我们利用数列定义实数集的依据,就可以避免在利用极限定义收敛数列时极限不是有理数的尴尬情景。当然,我们最终仍然要考虑基本数列的极限是否是有理数,不过此时我们就可以说某个数列“收敛但不收敛到有理数了”,若是采用极限来定义收敛数列则无法表述这种情况。

定义了基本数列以后,我们可以比较容易的定义一个基本数列的极限:

有理极限:设\(\{a_{n}\}\)是一个基本有理数列,且存在\(A\in Q\)使得表达式\(|a_{n}-A|\)的值可以通过选定\(n\)的值而使之任意的小,那么称基本数列\(\{a_{n}\}\)收敛到有理数\(A\),并称\(A\)为基本数列\(\{a_{n}\}\)的极限

注意我们在这里限定了\(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形式的完备性公理和我们之前所说的与基本数列有关的完备性公理确实是等价,这件事情的难度是比较大的——不过也还是可以证明的。这里我把它作为这篇博客的结尾,留给读者,多花些心思想想:为什么基本数列是否收敛于集合中,就能够决定这个集合是否是完备的呢?想清楚这一点,就说明你已经了解为什么“实数”应该满足且仅满足这样的一些公理,从而实数构造理论也就站得住脚了。实数公理反映了我们对于客观存在的数量的最细致的理解,这些公理是独立(没有描述重复的内容)而且相容(不会产生矛盾)的,它是约束什么可以被称为“数”的最高准则。

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

欢迎移步本系列下篇:实数系与实数定理(下)


参考文献

[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乛๑)

posted @ 2017-10-06 23:02  黑山雁  阅读(9688)  评论(8编辑  收藏  举报

主题配色:取自家中拖把