实数系与实数定理

数学分析课程中一般都会对实数定理进行详细的介绍,但是关于这些定理从哪里来,代表着什么,如何在数学理论中发挥作用,我所见过的数学教材中往往含糊其辞,没有说清。这里,让我们结合之前对于实数集这个数学系统的讨论,来展开对于传说中的“N大”实数定理的介绍。


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


3 有关实数定理的深度思考
3.1 连续性和完备性的关系


  还记得我们曾经归纳出来的实数集的三条特性吗?它们是不可数性、连续性、完备性。其中,不可数性代表了实数集的“多少”,但是它反映了是实数集的一种内蕴特征(或者说微观特征)——例如,我们把实数轴割成两半,那么其中的每一段上的数,仍然是不可数的。因而不可数性,反映的是实数集带有的一种“结构特征”,它对组成实数系的一些“单元”也成立。连续性表明了实数集合的一种形式上的性质,它表明实数集合中没有空隙,不会再因为任何原因而从中出现像有理数集中的“

2
”那样的“网眼”,连续性使人知道实数是一个看起来完美的集合(实际上也很完美)。而实数集的完备性,则体现出实数集的本质:它已经将所有应该收纳的内容囊括其中,不能再添加新的元素了。它是我们生活中所能接触到的一切数的总集合。相比于前两条性质,完备性才是说明实数之所以被人们成为实数的原因,也告诉数学家什么样的集合才是实数集。因此,完备性这条性质,可以说是实数集的核心性质。


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


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


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


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


分割(有理数集分割的推广):


  设A是任意一个有序集,我们称A的两个非空子集α,β为一组分割,当且仅当它们满足以下条件:


  (1)α⋃β=A,α⋂β=∅;(α,β刚好是A的两个部分)


  (2)∀x∈α,∀y∈β,都有x<y;(α,β是A的“左半边”和“右半边”)


  (3)β中没有最小元。


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


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


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


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


证明如下:


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


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


  2.数列{an−bn}是一个收敛到0的数列。(由于R是一个域,故必有0∈R)


  现在,我们看到,由于{an}和{bn}都是基本数列,因而它们都应该有一个确定的极限;同时,又由于limn→∞(an−bn)=0,因而只要这两个数列的极限都存在(这里的存在是说它们收敛到一个R中的数),那么它们的极限一定相等,不妨记之为c。但是,由于α中没有最大元,所以一定有c∉α——否则,α中一定有比c还大的数c1,而根据我们上面对数列的要求2,就将有
limn→∞ an=c= limn→∞ bn<c1
由limn→∞bn<c1我们可以知道一定存在着bk<c1,也就是说有一个在右分割β中的数竟然小于在左分割α中的数,这是不可能的。由此知道,只能有c∉α。同样的道理,由于β中没有最小元,因此也就一定有c∉β,这样的结论就是c∉R,从而说明R也不满足完备性公理——我们找到了至少两个不收敛于R中的基本数列。


  (⇐)如果R不满完备性公理,那么就存在至少一个不收敛在R中的基本数列;而且这样的基本数列一定不止一个,因为我们任何一个基本数列中的有限项,都不会改变这个基本数列的极限,因而我们一定可以找到一个严格单增且不收敛于R中任何一个数的基本数列{an}。现在,让我们在R中构造这样两个集合:
{ α={r∈R:∃k∈Ns.t.r<ak}; β={r∈R:∀k∈N,r>ak} 
首先,我们需要说明这样的(α,β)确实构成一组分割。现在来分别验证α和β是否满足分割的定义:


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


  (2)任取x∈α,y∈β,那么根据α的定义,存在{an}中的一项ak使得x<ak,又根据β的定义有y>ak,故x<y总是成立的。


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






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


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


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


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


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


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


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


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


 


证明如下:


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


  为此。我们假设Q不具有阿基米德性质。那么根据阿基米德公理的说法,我们就可以找到一个正数a0,使得任意的b>0(其中要求b不是a0的整数倍)和任意的正整数n,都有na0⩽b;换句话说,Q有一个不是0的无穷小量a0。现在我们在Q上取两个子集
α={r∈Q:∃k∈N使得r<ka0},β=Q∖α
不用说,首先需要验证这样的α,β确实构成了Q上的一组分割,这里我就不再细说了,总之可以证明这样的(α,β)确实构成了一组分割;而这个时候,我们可以看到α中必然没有最大元,因为对于任意的n∈N,都有na0∈α。这样,就说明Q是不满足连续性公理的。▌


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


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


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


 


3.2 实数定理是从哪里来的


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


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


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


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


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


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


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


 


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


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


 


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


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


(换句话说,如果a=supA,则对∀ε>0,都存在着ax∈A,使得a−ε<ax。或者说,supa就是A的最小上界。)


确界原理:设非空的A⊂R,则A有上界⇔A有上确界,A有下界⇔A有下确界。


上下极限定义:设{an}为一个R中的数列,若其有收敛到R中的子列{ank},则称这个子列的极限c∈R为{an}的极限点。令集合E表示{an}所有的极限点构成的集合,若supE和infE均存在,则称它们分别为{an}的上极限和下极限,记作lim supn→∞an和lim infn→∞an。


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


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


闭区间套定理:设[a1,b1]⊃[a2,b2]⊃…⊃[an,bn]⊃…为R中一组存在着包含关系的区间套,且满足limn→∞(bn−an)=0,则必存在唯一的ξ∈R使得其满足
{ξ}= 


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


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






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


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


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


A= 


n=1 [1,2−
1
n
 
);
supA=2∉A.
没有最大元的数集的上确界——不在该数集中


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






没有确界——有空隙


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


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


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


证明:在R上,确界定理⇔上下极限定理:


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


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


  现在,对于可列的点集A0,我们可以对其中的点按大小排序并编号,也即
A0=(a1,a2,a3,…,an,…)
既然我们想要证明在确界原理不成立的情况下上下极限定理也不成立,那么我们只要构造这样一个数列{cn},使得其极限点集Ec=A0就可以了。为了做到这点,我们可以这样来构造cn以达成要求:


  首先,我们对于(\A_0\)中的每一个数ak,总能够构造一个以ak为极限的收敛数列。那么,我们就可以对A0中的任何一个数am构造一个与之对应的收敛数列{bn(m)},使得
limn→∞ bn(m)=am
。你可能会说,既然(\A_0\)中有无穷多个点,怎么可能都构造出来都写出来?事实上我们不需要真的把与每个am对应的数列{bn(m)}的每一项都写出来,我们只要知道如何写出这样的数列——也就是构造的法则,保证我能写出任意一个{bn(m)}中的任意一项bk(m)就足够了。


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






蛇形取数法


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


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


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


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


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


  而对于R中逐渐收紧的区间套⋃

n=1
[an,bn]而言,我们可以把它们的两端端点列{an},{bn}分别看成两个单调有界的递增和递减数列,其中单增的{an}的上界至少是b1,而单减的{bn}的下界至少是a1——说“至少”,意思是在我们继续分析两个数列之前就可以一眼看出来这两个很“松”的上下界。由于要求limn→∞(bn−an)=0,因而只要这两个数列都收敛,那么它们必然有一个相等的极限ξ,这也就是{ξ}=⋃

n=1
的原因。从而到这里就可以看到,闭区间套定理的成立依赖于单调有界定理——反过来,由于我们可以用两个单调数列任意构造区间套,因而我们可以看到,单调有界定理和闭区间套定理应该是等价的。严格证明不再给出,你自己就可以很轻松的证明在R上这两个命题的等价性。从这个角度讲,闭区间套能够以单调有界数列的形式,和确界的概念产生联系。


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


 


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


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


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


聚点定理:设A⊂R是一个有界无穷点列(有无穷多个点),则A必有聚点。


开覆盖定义:设A⊂R为一个点集,Γ={Eλ,λ∈Λ}为一个开集族(也就是说,Γ中的每个元素Eλ都是一个开区间)。如果Γ中所有开区间的并集⋃λ∈ΛEλ能够包含点集A,即
A⊂ ⋃λ∈Λ Eλ
那么我们称开集族Γ覆盖了A,并称Γ是A的一个开覆盖。


有限覆盖定理(Heine-Borel定理):对于R上的任意一个闭区间[a,b],其任意一个确定的开覆盖一定有有限的子覆盖。也就是说,若Γ能够覆盖[a,b],无论Γ中有多少个开区间,必然存在着Γ中的有限个开区间E1,E2,…,En,使得[a,b]⊂⋃
n
k=1
Ek。


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


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


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


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


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


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


 证明:聚点定理⇔有限覆盖定理


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


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


  如果这一点不成立,那么就对于每一个正数m>0,总能够在被Γ覆盖的闭区间[a,b]中找到一个与之对应的点am,使得该点以m为半径的邻域不被Γ中任意一个开区间所包含,即
(am−m,am+m)⊈(p,q),∀(p,q)∈Γ
根据以上论证,我们就可以取一个开区间(0,m0)(其中m0>0)为我们的半径集,并对(0,m0)中的每一个数m取一个对应的闭区间[a,b]上的点am,使得am的以m为半径的邻域不能被开集族Γ中的任何一个开区间所覆盖。记所有这样的am构成的点集为A,那么A可以被表示为
A={am∈[a,b]:不存在Γ中的开区间覆盖(am−m,am+m),m∈R}
  如果A是一个有限集,说明只有有限个点的邻域不能被[a,b]中的开区间覆盖,但我们知道这些点本身至少都在开集族Γ的某个开区间以内,那么只要我们缩小这些点的邻域半径到某一个很小的正数δ,它们也就可以被Γ中的开区间覆盖,从而所有的点的δ−邻域都能被Γ中的某个区间覆盖。这样我们就找到了我们所需要的那个δ>0。如果A是一个无穷集,根据聚点定理,A理所当然的有至少一个聚点a。注意,a这一个单独的点显然能够被Γ中的某个开区间所覆盖,设这个开区间为(p0,q0)。而由于a是聚点,在其任意小的邻域内都有A中的点,那么肯定存在着一个ar0∈A∪(p0,q0),一方面其以r0为半径的邻域不能被Γ的任何一个开区间覆盖,另一方面这个邻域又已经被那个覆盖了聚点a的开区间盖住,从而便产生了矛盾。这说明A不可能是无穷集。


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


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


 


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


Cauchy收敛准则:一个数列{an}收敛到R中,当且仅当{an}是一个基本数列,也就是说这个数列的任意相邻两项an与an+1的距离|an−an+1|会随着n的增大可以不断减小,并且可以小于任何正数ε>0。


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


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


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


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


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






“还有空,快来!”


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


 


3.3.4 各组定理间的等价性


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


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


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






极限、确界与聚点


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


有限连通:设开集族Γ是闭区间[a,b]的一个开覆盖,(p0,q0),(p,q)为Γ中的两个开区间。如果α∈(p0,q0),β∈(p,q),并且(p0,q0)∩(p,q)≠∅,则称α在Γ下通过开区间(p,q)与β连通。又设[a,b]中的m在Γ下能够通过有限个开区间与n连通,则称m,n在Γ下有限连通。


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


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






 






有限连通和有限覆盖本质上是一样的(画风清奇๑乛v乛๑)


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


 


证明:有限连通定理⇔确界原理


  (⇐)假设确界原理成立。设[a,b]是R上的一个闭区间,Γ是[a,b]的一个开覆盖。定义一个集合A,其满足
A={c∈[a,b]:a,c在Γ下有限连通}
显然,A是一个非空有界的集合,因而A有上确界supA,记之为t。可以说明,事实上一定有t=b;否则,t将是一个(a,b)间的数。由于a,t是有限连通的,因而相应的有一个开区间来覆盖t,那么a与这个开区间中除了t外的其他点也是有限连通的(它们都可以通过有限个区间连起来);但是很显然t不是这个开区间中最大的数(事实上开区间中既没有最大元也没有最小元),所以一定有比t更大的数也和a有限连通,故任意一个(a,b)中的数都不是A的上确界。由于限定了A是[a,b]的子集,故最后只能有A=[a,b],从而supA=maxA=b,b必然在集合a中,从而a,b在Γ下是有限连通的。以上说明确界原理⇒有限连通定理。


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


  现在构造一个开集族
Γ={(a,an)∪(bn,b):n∈N}
也就是说Γ相当于是两列逐渐靠向a0的“开集套”。我们可以证明Γ确为闭区间[a,b]的开覆盖,因为a,b之间除了不在R中的a0以外其他所有的点都将被(a,an)和(bn,b)中的某一个覆盖,只要n足够大。但在Γ下我们知道a,b不可能有限连通,因为Γ中的两列“开集套”没有交集。由此,我们知道在不具备完备性的实数集(准确的说,是一个不具备完备性的具有阿基米德性质的有序域)上有限连通定理不成立,因而当确界原理不成立时,有限连通定理也不能成立。反过来,当有限连通定理成立时,确界原理一定成立。▌






一个特殊的开覆盖


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


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


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


 


3.3.5 更高观点下的视角


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


(1)连续性→连通性


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






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


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


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


(2)完备性


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


  一般来说,完备性只能在度量空间上讨论,所谓的度量空间就是说这个空间中的任意两个点之间都定义了一个“距离函数”。在实数集上,两个点之间的距离就是它们差的绝对值;在二维、三维(乃至更高维)的欧式空间中,两个点之间的距离就是它们之间的线段长度——比如二维空间R2中的两个点(x1,y1)和(x2,y2)之间的距离为
d=

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


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


度量空间上的基本列:设(A,d)为一个度量空间,{xn}为A上的一个点列。若对任意的ε>0,存在着n∈N,当n1,n2>n时,就有d(xn1,xn2)<ε,那么称{xn}为A上的一个基本列。


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


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


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


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


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


 


4 实数集的性质:“数”的意义何在?


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


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


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


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


  一台计算机可以表述任何一个有理数,只要给其以足够的内存(当这个有理数有小数点后许多位时是必须的);但计算机难以表述无理数。我们当然可以给计算机中写入一个表述

2
的结构,让其满足

2


2
=2,参与运算,这些都可以实现;我们也可以在内存足够的情况下,计算出

2
的小数点后任意一位。但是即便如此,我们也不能把

2
真正的制造出来,它要么是一个满足运算律的符号——就像你在做作业时对它的处理方式一样,要么就是一个足够精确的近似值用以计算相关的数据,但不会出现一个具有完整和真实性质的

2
。唯一的可能,是你有一支可以画出宽度无穷小的直线的笔,画出一个边长准确相等的正方形,连接其对角线,这个对角线的长度就是其边长的

2
倍——这个时候,我们才可以说,

2
真实的存在于这个世界上了。


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


 


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


在IOS11,原有的NSLocationAlwaysUsageDeion被降级为NSLocationWhenInUseUsageDeion。因此,在原来项目中使用requestAlwaysAuthorization获取定位权限,而未在plist文件中配置NSLocationAlwaysAndWhenInUseUsageDeion,系统框不会弹出。建议新旧key值都在plist里配置,反正我试下来是没有问题,唯一的区别是使用requestAlwaysAuthorization获取权限 IOS11系统弹框会把几种权限级别全部列出,供用户选择,显然更人性化了哈~~


定位
UIScrollViewContentInsetAdjustmentBehavior


IOS11 之前,不想让scrollView偏移64px,设置automaticallyAdjustsScrollViewInsets=NO就可以了。IOS11以后就废弃了,使用scrollView的属性contentInsetAdjustmentBehavior来防止偏移。


UIScrollViewContentInsetAdjustmentAutomatic 
UIScrollViewContentInsetAdjustmentScrollableAxes 
UIScrollViewContentInsetAdjustmentNever 
UIScrollViewContentInsetAdjustmentAlways


这里我们直接选Never就可以了
以上就是我项目中适配IOS11遇到的坑,后续有坑继续来填…


更新:




Navigation Bar 
navigation bar 的titleView支持了autolayout,需要titleView自己撑开或者重写了- intrinsicContentSize方法。intrinsicContentSize顾名思义,固定大小的意思,主要是解决一些模糊约束的问题。更多知识可以看这篇文章详解intrinsicContent www.xbylpt5.cn Size。 
不做适配在IOS11会遇到的问题: 


titleView对应的View大小和预期不一致。 
titleView对应的View有点击事件会无法触发 


解决方法是直接重写t www.078881.cn/itleView对应View的www.hjd157.com intrinsicContentSize方法 


- (CGSize)intrinsicContentSize { 
return UILayoutFittingExpandedSize; 
  • 5
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值