【实数系统】 02 - 实数构造
人们在工作和生活中熟练地使用着数,只要按照运算律进行计算,就不用怀疑结果是否正确。面对着那些似乎天经地义的运算法则,一般人根本不会多想,更看不出什么花样来。即使是碰到了似是而非的概念,大部分人也是选择视而不见,因为它们似乎并不影响最终的结果。然而数作为大自然的语言,数学家们并不甘心只是把它当做一般的对话工具,而是想通过它与世界进行更深层次的交流,并将其转变成探索世界的武器。
事实证明,对于简单问题的深入思考,有时候会颠覆人们的传统认识,数学史上的重大发现很多都来自一些“基本问题”,并且新理论总会让人离真相更近一步。我们先不急于看到真相,而是从故事开始的地方,追寻先人的步伐,总有一天,你也会走出自己的步调。在“集合论”中大家已经感受过自然数的公理化定义,这一篇我们将继续进行数的构造,相信大家是有着精神准备并充满好奇的。
1. 自然数
用集合定义自然数虽然完美,但不符合直觉,一般人不容易想到。历史上较早出现的定义来自皮亚诺(Peano)的公理系统,之前我们顺带提过,现在就来看看它的具体内容吧。皮亚诺公理是说自然数集\(\Bbb N\)满足以下公理:
(I)\(1\in \Bbb{N}\)。\(1\)是自然数,但\(1\)不作定义。
(II)\(a\in \Bbb{N}\Rightarrow a^+\in \Bbb{N}\)。任何自然数都有一个“后继”,它也是自然数。
(III)\(a^+=b^+\Rightarrow a=b\)。后继相等的两个自然数也相等。
(IV)\(\forall a(a^+\ne 1)\)。\(1\)不是任何自然数的后继。
(V)\(M\subset \Bbb{N}\wedge 1\in M\wedge (a\in M\Rightarrow a^+\in M)\Rightarrow M=\Bbb{N}\)。归纳公理。
皮亚诺公理更符合直觉的认识,理解起来也没有困难。\(1\)和“后继”不作定义,前两条公理确定了自然数的链式结构,后面两条避免了环的产生,最后的归纳公理排除了多余的元素,它是数学归纳法的依据。这里的很多概念与集合论中的定义十分相像,它们同样也可以推导出自然数的各种性质,并且严格地定义加法、乘法、大小,以及证明各种运算律。
你有必要亲自尝试一下这些证明和定义,因为通过研究和摸索,你会惊叹从这几条简单的公理居然可以推出那么多的性质,并且很多看似显然的结论证明起来却并不轻松。通过练习,你更能感受到抽象和研究的魅力,感受各种性质的可证性,并认识到严格定义数的必要性。这里简单列一些问题,读者可以稍加练习:
• 任何自然数不以自己为后继;
• 除\(1\)外任何自然数都是别人的后继;
• 定义加法、乘法,证明交换律、结合律、分配率、消去律;
• 定义大小,证明其传递性、三歧性、运算下的单调性;
• \(n\)和其后继之间没有其它数;
• 最小数原理。
有心的读者可能注意到,集合论中我们是以\(0\)作为自然数的起点的,而这里却是以\(1\)为起点。其实单纯从自然数的结构来说,起点叫什么并不重要,区别主要发生在加法和乘法的定义里。\(0\)会让运算的定义变得复杂,这里我们选择推迟引入,好让大家把注意力集中在构造的原理和方法上。
2. 有理数
自然数有加法和乘法运算,但它们的逆运算却并不总是有意义的,需要根据这个需求对自然数进行扩展。不管是差还是商,都可以用一个自然数对表示,从而负数和分数皆可以定义为数对。为了减少\(0\)的影响,可以先定义正分数。按照除法的性质可以定义自然数对的“相等”,等价的自然数对被定义为正分数,并将自然数嵌入其中。然后依次定义大小、四则运算、运算律、倒数,这些工作没有难点,可以作为练习。
正分数要比自然数多出许多,一些新的性质是需要被明确指出的。一个是显然的稠密性,它是说任何两个正分数之间都存在另一个正分数,这个是比较容易构造出来的。另一个就是阿基米德性:对任何正分数\(x,y\),都存在自然数\(n\),使得\(x<ny\)。你可能觉得阿基米德性也很显然,但请考虑一下“集合论”中的超限数,在那里它是不成立的。阿基米德性被频繁地使用,你甚至觉察不出它是一条性质,但是从公理出发它并不是那么明显,你可以尝试证明一下。稠密性和阿基米德性在有理数和实数中同样成立,那里就不再重复说明了。
自然数在除法上扩展后,需在减法上继续扩展。类似于正分数的定义,先要在减法的意义上定义正分数对的“相等”,然后将等价的正分数对定义为有理数,并将正分数嵌入其中。接着类似地定义大小、四则运算、运算律、相反数、绝对值。有理数集被记为\(\Bbb{Q}\),自然数在减法运算下的扩展被称为整数\(\Bbb{Z}\)。
有理数在加法和减法上已经完全封闭,而且它貌似已经布满数轴,我们好像不再需要别的数了。毕达哥拉斯当初也是这样自信,但在经典的\(\sqrt{2}\)是无理数的证明面前,最终还是一筹莫展。一个稠密的点集之间居然还有未知的数存在,人们对看似简单的数轴突然产生了戒心,这些幽灵一样的数该如何定义?
现在是中场休息时间,思考一下如何证明\(\sqrt{D}\)(\(D\)为非平方自然数)是无理数?\(\sqrt{2}\)是无理数的证明虽然经典,但却不具有通用性,如果仅限于初等方法,我们需要另辟蹊径。这里的证明思想叫做无穷递降法,它发明于古希腊时期,现在在数论中仍有广泛的应用。如果\(\sqrt{D}\)可表示为既约分数\(\dfrac{p}{q}\),设\(0<p-mq<q\),利用\(p^2=Dq^2\)可以构造出\(\dfrac{nq-mp}{p-mq}=\dfrac{p}{q}\),它的分母比\(q\)小,这是不可能的。
3. 实数
3.1 戴德金分割
历史上最成功的实数定义来自戴德金,他将有理数集\(\Bbb{Q}\)分割为左右两个非空集合\(\xi,\overline{\xi}\),其中右集\(\overline{\xi}\)中的元素皆大于左集\(\xi\)中的元素,且左集没有最大值。戴德金将\(\xi\)被定义为一个实数,实数集记作\(\Bbb{R}\)。当右集中有最小值\(r\)时,这一刀正好切在有理数\(r\)上,这个分割就是\(r\)对应的实数。当右集中没有最小值时,它当然就是我们需要的无理数。在继续前进之前,先用几个问题复习一下概念,也顺便热热身。
• “右集的元素大于左集的元素”这一条件等价于:\(r\in\xi\wedge r'<r\Rightarrow r'\in\xi\);
• \(\sqrt{2}\in\Bbb R\);
• 对任意\(\varepsilon>0\),都有\(\exists r\in\xi,\overline{r}\in\overline\xi(\overline{r}-r<\varepsilon)\)。
下面先来定义实数的大小:当\(\xi\subset\eta\)时,定义\(\xi<\eta\),容易证明该定义的三歧性和传递性。接下来就是定义加法和乘法,以及它们的运算律。亲自定义并证明这些概念会提高你对严格定义的认同感,下面是加法的定义,希望你能从证明它的合法性开始进行探索。
\[\xi+\eta=\{a+b|a\in\xi,b\in\eta\}\]
我们的主要问题是:这样定义的实数能否布满数轴呢?换句话说,在数轴上一刀切下去,切到的必然是实数吗?类似于戴德金分割,将实数集\(\Bbb{N}\)分割为左右集\(X,\overline{X}\),我们要证明的是:\(\overline{X}\)中必有最小值,因为它就是分割点。考察所有左集之并\(\xi=\cup X\),先证明\(\xi\)是一个实数,然后证明它不小于\(X\)中的任何数且不大于\(\overline{X}\)中的任何数,所以它必是\(\overline{X}\)的最小值。这就证明了我们的结论,实数在数轴上没有空隙,这个性质被称为实数的完备性或连续性。实数的完备性是它区别于其它数的最大特性,它是分析学的根基,我们将在下一篇对它进行深入探讨,并给出与完备性等价的几个实数基本定理。
3.2 康托尔定义
早在19世纪的上半页,柯西、维尔斯特拉斯等人就着手进行分析学的严格化工作,其中就包括实数的严格定义。柯西将实数定义为有理数序列的极限,但他并没有发觉,他的定义中事先承认了极限这个“数”的存在,所以它是个循环定义。在继续前进之前,我们需要几个概念。序列\(a_0,a_1,a_2,\cdots\)称为一个数列(sequence),记作\(\{a_n\}\),\(a_n\)称为数列的通项。数列可以看作是某个数集到自然数集的映射,若数列满足以下条件,它称为基本序列或柯西数列。柯西就是把实数定义为基本序列的极限,本篇不打算引入极限,而统统将之取代为基本序列,在下一篇中我们将看到它们其实是等价的。
\[\forall\varepsilon>0\exists N(m,n>N\Rightarrow\left|{a_m-a_n}\right|<\varepsilon)\]
若两个基本序列\(\{a_n\},\{a'_n\}\)满足以下条件,称它们为等价的,记作\(\{a_n\}\sim\{a'_n\}\)。容易证明\(\sim\)是一个等价关系,康托尔将有理数基本序列的等价类\([\{a_n\}]\)定义为一个实数。仅用有理数\(r\)组成的数列\(\{r\}\)显然是基本序列,它所在的等价类就被定义为有理数数\(r\),不同的有理数是不等价的。
\[\forall \varepsilon>0\exists N(n>N\Rightarrow\left|{a_n-b_n}\right|<\varepsilon)\]
对两个实数\(\alpha,\beta\),取其代表序列\(\{a_n\},\{b_n\}\),容易证明\(n\)足够大时必有\(a_n>b_n\)或\(a_n<b_n\)成立,这可以作为实数大小的定义。下面是实数加法的定义,乘法和运算律留给读者完成。
\[[\{a_n\}]+[\{b_n\}]=[\{a_n+b_n\}]\]
如上所述,不与某个有理数等价的基本数列应当就是无理数了,它们能否填满数轴的空隙?即任何实数是否都可以逼近,用本节的语言就是实数基本数列是否必然与某个实数等价?这里会出现实数距离的概念,可以暂且定义为其代表序列的距离。对实数基本序列\(\alpha_0,\alpha_1,\alpha_2,\cdots\),取其代表有理数序列\(\{a_{0n}\},\{a_{1n}\},\{a_{2n}\},\cdots\)。考察有理数列\(a_{00},a_{11},a_{22},\cdots\),先证明它是基本数列,再证明它所代表的实数就是要找的数,这就证明了实数的完备性。
3.3 展望
戴德金分割和康托尔定义的实数之间可以建立一一映射,它们是同构的,在历史上都有着很高的地位。但由于表达上的繁琐和定义的差异,不便于在论证中直接使用,下篇将介绍的实数基本定理与它们是等价的,而且更容易理解和使用,今后会使用它们作为实数完备性的等价物。
实数表示一条直线上的点,那么平面上的每个点能否表示数呢?高斯将复数和二维平面的点对应起来,彻底回答了这个问题。你可能会乐观地猜测空间上的每一点也能表示数,这个说法不能算错,因为我们连数的定义都没有!随着抽象代数的成熟,人们把数看成是满足一定运算法则的代数系统。可惜的是,复数已经是满足现有运算律的最大系统了,想要再大的话就必须牺牲掉一些运算律,比如哈密尔顿的四元数就不满足交换律。
说到代数系统,其实可以把有理数看做是实数的一个子系统,子系统对四则运算是完全封闭的。实数中还有其它的子系统,比较重要的一类来自对多项式的研究。有理数可以看做是所有满足整系数方程\(a_0x+a_1=0(a_0\ne 0)\)的实数,将这个概念进行扩展,一般称满足方程\(\sum\limits_{i=0}^n{a_ix^i}= 0(a_n\ne 0)\)的(复)数为代数数,最低满足\(n\)阶方程的数称为\(n\)阶代数数。容易证明代数数是可数的,自然实代数数也是可数的,所以实数中还有不是实代数数的数,它被称为超越数,典型的代表就是\(\pi\)和\(e\)。你可能认为代数数就是带有各种根号的数,反过来说的确是对的,但大部分代数数却无法用有限的表达式来表示!这个精彩的命题就放到抽象代数中再说吧。