An illuminating construction in Real Analysis

October 10, 2011

I posted a question on . The answer is brilliant and very illuminating.

The statement of the problem is:
Let us consider \mathbb{Q}\cap[0,1] , putting all the elements in the set in a sequence, denoted \{a_n \} . We define [a_j-\frac{1}{2^{i+j}} , a_j +\frac{1}{2^{i+j}}]\cap[0,1]. Notice that \mathbb{Q}\subset V_i.

So we define V=\bigcap_i V_i . We have \mathbb{Q}\subset V , and V is a zero-measure set.

So how to find an irrational number in V?

Robert Israel gives a very clever solution:
For an “explicit” construction, consider z=\sum_{i=1}^{\infty}2^{-i_k}, where given k_1 <\dots<k_n , if \sum_{i-1}^n2^{-k_i}=a_{m(n)} , k_{ n+1} =k_n +1+2m(n) . Note that $a_{m(n)} <z<a_{m(n)} +2^{ 1−k_{n+1}} <a_{m(n)} +2^{−2m(n)} so z\in V_{m(n)} . Since m(n)\to \infty \mbox{ as } n\to \infty , z is in all the V_i . Its base-2 expansion contains infinitely many 1’s but also has arbitrarily large gaps between the 1’s, so can’t be eventually periodic, and thus z must be irrational.


数学的印象

November 24, 2010

小平邦彦

什么是数学?不太清楚。但我以为关心数学的某些人会有这样的感觉,认为数学实际不就是这么回事吗?本文要叙述一个数学家看到数学的印象,即像我这样对数学专业以外的事情就不太懂的单纯的数学家,在研究数学时,感到数学是什么呢?我是直率而不加修饰的谈这一问题以提供读者参考。 一般认为数学是按严密的逻辑构成的科学,即使与逻辑不尽相同,却也大致一样。但是实际上,数学与逻辑没有什么关系。数学当然应该遵循逻辑,但逻辑在数学中的作用就像文法在文学中的作用那样。书写合乎文法的文章与照着文法去写小说完全是两码事;同样,进行正确的逻辑推理与堆砌逻辑去构成数学理论是性质完全不同的性质。 通常的逻辑谁都明白,要是数学能归结到逻辑,那么谁都应该懂得数学了。但是初中高中很多学生理解不了数学却是众所周知的事实。精通语言学但数学成绩不好的学生不在少数。所以我认为数学在本质上与逻辑不同。

【数学】

考虑除数学外的自然科学,例如物理学可以说是研究自然现象中物理现象的科学。在同样的意义上,数学就是研究自然现象中数学现象的科学。因此,理解数学就要「观察」数学现象。这里说的「观察」不是用眼睛去看,而是根据某种感觉去体会。这种感觉虽然有些难以言传,但显然是不同于逻辑推理能力之类的纯粹感觉,我认为更接近于视觉。也可称之为直觉,为了强调是纯粹感觉,以下称此感觉为「数觉」。直觉包含着「一瞬领悟真谛」的含义,不太贴切。数学的敏锐,如同听觉的敏锐一样,与头脑好坏没有关系(指本质上没有关系的意思,而不是统计上没有相关关系)。但是要理解数学,不靠数学便一事无成。没有数觉的人不懂数学就像五音不全的人不懂音乐一样(这只要担当数学不行的孩子的家庭教师就马上明白。你眼前看到的事情孩子却怎么也看不见,说明起来很吃力)。数学家自己并不觉得如在证明定理时主要是具备了数觉,所以就认为是逻辑上作了严密的证明,实际并非如此,如果把证明全部用形式逻辑记号写下看看就明白了。那就过份冗长,实际上不可能(当然不是说证明在逻辑上不严密。而是依照数觉,那些明显的事实就略去逻辑推理而已)。最近每每谈及数学的 sense(感受),而作为数学 sense 基础的感觉,可以说就是数觉。数学家因为都有敏锐的数觉,自己反倒不觉得了。

【数学也以自然现象为对象】

把数学的对象看作是自然现象的一部份,也许有人说这不讲道理,但是数学现象与物理现象同样是无可争辩的实际存在的,这明确表现在当数学家证明新定理时,不是说「发明」了定理,而是说「发现」了定理。我也证明过一些新定理,但绝不是觉得自己想出来的。只不过感到偶而被我发现了早就存在的定理。
正如大家不断指出的那样,数学对理论物理起着难以想象的作用。简直可以认为物理现象仿佛全都遵循着数学的法则。而且在许多场合,物理理论所需要的数学在该理论被发现以前很久就已经由数学家预先准备好了。典型的例子要算爱因斯坦广义相对论中的黎曼空间了。数学对物理如此起作用,其理由何在呢?过去的说法,归结起来是说数学是物理的语言。也许可以说,如广义相对论中黎曼几何的作用就是一种语言。但是在量子力学中,数学却真起了魔术般的神秘作用,在这里无论如何也不能认为数学只是语言了。
翻开量子力学教科书,首先看到的是光的干涉、电子的散射等实验的说明,然后表明,光子、电子等的粒子状态可以用波动函数(即属于某个 Hilbert 空间的向量)来表示并导出与若干状态的波动函数有关的迭加原理。迭加原理认为,状态 A 若是状态 B 与 C 的迭加,则 A 的波动函数就是 B 的波动函数与 C 的波动函数的线性组合,它是量子力学的基本原理。

什么叫粒子的状态呢?例如加速器内电子的状态就是由加速器决定的,所以,粒子状态可认为是该粒子所处的环境。因此在量子力学中就用唯一的波动函数(向量)来表示复杂至极的环境。这里首先是进行简单化、数学化的处理。状态 A 是状态 B 和 C 的迭加是怎么一回事呢?对于教科书中光的干涉等情形,其意义可以认为是显然的,而在一般场合,却很难理解环境 A 是环境 B 与 C 的迭加的意义。虽然根据普通观测的干扰可以说不确定性原理,例如不能同时观测粒子的位置与速度,但毕竟不能把粒子同时放在位置观测装置与速度观测装置中。就是说,粒子不能同时存在于二个环境中。那么什么又是这样二种环境的迭加呢?很难说清楚。另一方面,波动函数的线性组合演算在数学中却是完全初等的、简单明了的。迭加原理认为,这种简明的数学演算表现了复杂奇怪状态的迭加。就是说数学的演算支配着量子力学的对象即物理现象。明白了迭加的物理意义,就知道不是用数式表示它,而是把线性组合表示的状态迭加当作公理,反过来按数学演算来确定迭加的意义。正如 R. Feynman 所说,迭加原理的说明只能到此为止。只能认为量子力学是基于数学不可思议的魔力。所以我认为,在物理现象的背后在着数学现象是无可争辩的。

【数学是实验科学】

物理学家研究自然现象,在同样意义上,数学家研究着数学现象。也许有人会说,物理学家做各种各样的实验,而数学家不就是思考吗?但是,这种情况的「思考」就是思考实验的意思,例如与「思考」考试题的性质不同。我们知道,对考试问题,只要适当组合某个确定范围内已知的事实,一小时内一定能够解决,思考的对象、思考的方法都摆在面前。而实验则是为了调查研究原先未知的自然现象,当然其结果就无法猜想,也许什么结果也得不到。数学也完全一样,它是探究未知的数学现象的思考实验,虽说是思考,但思考的对象是未知的,思考些什么为好也不知道。数学研究的最大困难就在于此。
思考实验中最容易理解的形式是调查实例。例如考虑偶数最少可表为几个素数的和的问题。检查一下实际的偶数,2 是素数不算, 4=2+2,6=3+3,8=3+5,10=5+5,100=47+53,…,总可以表为二个素数的和。由这一实验结果,可以猜想「除 2 以外的一切偶数都可表为二个素数的和」的定理成立(这是早就有名的哥德巴赫猜想,现在还没有解决)。如果这样几次调查实例,能够猜想出定理的形式,以后就可以考虑证明该定理,那么研究的最初难关就被突破了。当然这是数学,光堆积几个实例还不是定理的证明,证明还必须另外考虑。
初等数论些定理就是首先从这样的实验结果出发引出猜想,然后才证明的。从上个世纪末到本世纪初,由 F. Enriques、G. Castelnuovo 等意大利代数几何学家得到的惊人成果中,依据实验的不在少数。实际上,J.A. Todd 在1930年左右发表的论文中曾明确断言:「代数几何是实验科学」。他们的定理全部得以严密的证明还是最近的事。值得注意的是,尽管他们给出的定理证明还很不完全,但是定理却是正确的。

【发现新定理】

最近数学的对象一般都非常抽象,实例也还是抽象的,难以想象,因此靠调查实例来猜想定理的形式,在许多情况下首先就不可能。我不知道在这种状况下,发现新定理的思考实验的方式是什么样的。即使说只是含含糊糊地想想思考些什么,恐怕还是不行的。实际就是那样往往是不管怎么去思考都得不到相应的结果。这么说来,数学研究是不是非常困难的工作呢?倒也未必。有时你什么也没干,但却很自然地接二连三看到那些值得思考的事情,研究工作轻而易举地得到进展。这时感受充分表现在夏目漱石在《十夜梦》中描述运庆雕刻金刚力士的话上。引用其中的一部份:
运庆现在横着刻完了一寸高的粗眉毛,凿刀一竖起,就斜着从上一锤打下。他熟练地凿着硬木,就在厚木屑随着锤声飞扬的时候,鼻翼已完全张开鼻孔的怒鼻的侧面已经显现出来。看起来他的进刀方法已无所顾忌,没有丝毫犹豫的样子。

「原来使用凿子那么容易,就把想象中的眉毛、鼻子作成了」,他颇为得意,自言自语道。于是,刚才的青年就说:「什么,那并非用凿子作出眉、鼻的,眉毛、鼻子本已埋在木材中了,只是靠凿子与锤子的力量挖了出来。就像从土中挖出石头一样,决不会错的」。
这种时刻,想想这世间没有比数学更容易的学科了。如果遇到有些学生对将来是否干数学还犹豫不定,就会劝告他「一定要选数学,因为再没有比数学更容易的了」。
接下去漱石的话的要点如下:
他便觉得雕刻也不过如此,谁都能干的。因此他想自己也雕个金刚力士试试,回到家,便一个接一个雕刻起后院的那堆木材。不幸的是,一块木头里也没有发现金刚力士。他终于明白了,原来明治的木头里并没有埋着金刚力士。
数学也一样,普通的木头里没有埋着定理。但从外面却看不出里面究竟埋着什么,只好雕刻着看。数学中的雕刻就是一边进行繁复的计算,一边调查文献,决不是简单的。在许多情况下什么结果也没有。因此数学研究非常费时间。可以认为,研究的成败主要取决于运气的好坏。

【定理与应用】

现今的数学,由实例猜想定理是很困难的,不仅如此,定理与实例的关系看来也变了。在大学低年级的数学中;定理之为定理,乃是由于可应用于许多实例,没有应用的定理就没有意义。好的定理可以说就是应用广泛的定理。在这个意义上,函数论的柯西积分定理是最好的数学定理之一。但最近的数学中,有广泛应用的定理几乎见不着。岂止如此,几乎毫无应用的定理却不少。正如某君不客气地说:「现代数学只有两种,即有定理而没有应用例子的数学与只有例子而没有定理的数学」。从现代数学的立场出发,「不管有没有应用,好的定理就是好的定理」,但我却总觉得,没有应用的定理总有点美中不足。

【数学的唯一理解方法】

即使不作研究,只看看书与论文,数学也很费时间。比如只看定理而跳过证明,二三册书似乎很快就能读完的。但是实际上跳过证明去读,印象就不深,结果一无所知。要理解数学书,只有一步一止循着证明。数学的证明不只是论证,还有思考实验的意思。所谓理解证明,也不是确认论证中没有错误,而是自己尝试重新修改思考实验。理解也可以说是自身的体验。
难以想象的是,此外没有别的理解数学的方法。比如物理学,即使是最新的基本粒子理论,如果阅读通俗读物,总能大致明白、至少自己认为明白了,尽管很自然地与专家的理解方法不同。这就存在着老百姓的理解方法,它与专家的理解方法不同。但是,数学不存在老百姓的理解方法。大概不可能写出关于数学最近成果的通俗读物。

【「丰富的」理论体系】

现在数学的理论体系,一般是从公理体系出发,依次证明定理。公理系仅仅是假定,只要不包含矛盾,怎么都行。数学家当然具有选取任何公理系的自由。但在实际上,公理系如果不能以丰富的理论体系为出发点,便毫无用处。公理系不仅是无矛盾的,而且必须是丰富的。考虑到这点,公理系的选择自由就非常有限。
为了说明这件事,把数学的理论体系比作游戏,那么公理系就相当于游戏规则。所谓公理系丰富的意思就是游戏有趣。例如在围棋盘上布子的游戏,现在知道的只有围棋、五子棋和二类朝鲜围棋只 4 种类型。就是说,此刻所知道的公理系只有 4 个。除这 4 个以外,还有没有有趣的游戏呢?例如四子棋、六子棋、或者更一般的 n 子棋又如何呢?实际上下 n 子棋,当 n 在 4 以下,先手必胜,即刻分出胜负,所以索然无味;而当 n 在 6 以上时,则永远分不出胜负,也毫无意思。发现这种新的有趣的游戏并不容易。要找出跟围棋差不多有意思的游戏大概是不可能的。虽然这只是我的想法。数学也同样,发现丰富的公理系是极其困难的。公理系的选择自由实际上等于没有。

【理论的丰富推广】

数学家一般都本能地喜欢推广。例如假设存在以某个公理系 A 为基础的丰富的理论体系 S。这时谁都会想象到,从 A 中去掉若干个公理得到公理 B,从 B 出发推广 S 得到理论体系 T,再进行展开。稍加思索就觉得 T 是比 S 更丰富的体系,因为 T 乃是 S 的推广,但如果实际试验一下这种推广,许多场合与期待的相反,T 的内容贫乏得令人失望。这种时候,可以说 T 不过是 S 的稀疏化而不是推广。当然并非所有的推广都是稀疏化。数学从来是依据推广而发展起来的。最近推广不断堕入稀疏化,倒不能说是一种奇怪的现象。
那么,能发展成丰富的理论的推广,其特征是什么呢?进一步,公理系能作为丰富的理论体系的出发点的特征又是什么呢?现代数学对这种问题不感兴趣。例如,群论显然是比格论更为丰富的体系,但群的公理系优于格的公理系之点是什么呢?又在拓朴学、代数几何、多变量函数论等等中,基本层的理论的出发点(看来似乎)是毫无价值的推广,它不过是用及数替换以前的常数作为上同调群的系数。而实际上却是非常丰富的推广,其理由何在呢?与此相反,连续几何被看作是射影几何的令人惊叹的推广,但却没有什么发展,这又是为什么呢?当把数学作为一种现象直接观察时,所产生的这类问题不胜枚举。虽然我并不知道,它们是否都是不屑一顾的愚蠢问题,抑或能否建立一门的回答此类问题为目标、研究数学现象的学科,即数学现象学呢?但是如果能够建立,那一定是非常有意思的学科。为了研究数学现象,从开始起唯一明显的困难就是,首先必须对数学的主要领域有个全面的、大概的了解。正如前面说的,为此就得花费大量的时间。没有能够写出数学的现代史我想也是由于同样的理由。


GTD 心法

November 19, 2010

From: http://book.douban.com/review/1930909/

Getting Things Done 这本书2002年出版以来,“GTD” 已经成了一个专有名词,带动了一大批基于此书的时间管理书籍,文章和专门的博客。绝大多数人对时间管理的认识还停留在传统简单的日程表(Calendar)和任务表(To Do List)上,而此书作者 David Allen 号召大家随时使用多个带有各种标签的文件夹来科学管理自己的任务列表。从书里看,作者就是专门以培训企业高级管理人员为生的,他手把手地教这些人怎么管理的东西不是别的,是时间。
  
  我最近一段时间集中学习演练了 GTD 的方法,效果很不错。
  
  此书出版的时候 PDA 已经被广泛使用,但作者认为真正可靠和有用的是个人定制的一大堆纸质实体文件夹,可能因为那时候还没有什么“复杂的”时间管理软件工具。而现在(截至2009年三月),专门基于此书方法的时间管理软件竟然达到了110种!
  
  GTD 不是什么“要珍惜时间”之类的格言或人生感悟,而是一套特别具体的方法。我想一般人如果工作不是很忙,任务不是很多,那么只要记住格言就可以了,越忙的人,才越需要 GTD。我在读此书之前也曾经看到网上一些文章,甚至是一些专门的博客教别人怎样 GTD,但读过此书之后,我认为绝大多数文章没有指出其“精髓”所在。
  
  GTD 其实就是两点。
  
  第一,清空你大脑的内存。把所有要做的事情分门别类,另外存放在一个逻辑性强而又可靠的系统中去。大脑是用来思考的,不是用来记事的。我们的大脑每天耗费太多时间提醒我们该做又没做的事情,应该把大脑从这种思维中解放出来。
  
  第二,把任何任务和项目具体成 actions。树立“next actions” 的观念。不管是什么任务项目,我们要问的问题是下一个动作是什么?只有这样才能把计划具体化,才能让我们随时把握该做什么。这样一来,在一个给定时间具体采取一个给定行动(action)的时候,我们才能做出最好的选择,而且对自己的行动选择有信心。
  
  如果能做到这两点,我们就可以达到武术中的“Ready State”,“心静如水”(mind like water) 的境界,把我们的大脑从纷扰的事件纠结中解放出来,在完全清醒的状态下去全心全意做事件本身。就好像往水里投石子一样,水的变化完全和石子的力度成比例,既不会过度反应也不会反应不足,而这二者恰恰是我们做事时最常犯的错误。
  
  GTD 的具体做法其实就是三个动作:Collect, Process, 和 Review.
  
  所谓 Collect,就是在生活中随时随地携带一个笔记本(我是用手机的便签功能),有任何想法,任何可能要做的事情,一旦出现马上记下来,这样我们的大脑就可以放心地忘记这些东西了。用GTD 的术语说就是把所有有用的东西都放入 “In basket” 中去。
  
  所谓 Process,就是把 “In basket” 中的东西快速处理,或者删除,或者存档留作日后参考资料,或者让别人去做,或者自己做。自己做的这种情况最关键,具体说就是把想法变成 “actions”。可以是一个单独的 action,也可以是一个 project。所谓 project,GTD 的定义就是一系列 actions 的集合。
  
  所谓 Review,就是你必须把所有这些行动步骤(actions)系统整理,以便提醒自己,和定期(每周)审查。这种审查可以使我们获得安全感。
  
  有了这个系统,每当你想要做事的时候,你只需要从一系列的 actions 列表中选择一个去做。GTD 流程的根本目的在于使得我们在任何一个给定时间,能够做出最好的选择:现在要采取哪个行动。这样我们做任何选择的时候都非常明白这个是现在最应该做的事,而不必担心有什么重要的事情没做。我们的心态就永远平静。
  
  为了帮助选择 action 去做,GTD 要求给每个 action 确定一个 context,也就是说在哪里做,比如 @Office, @Home, @Computer,@Phone 等等。这样GTD 系统包括一个日程表,上面全是必须在这一天完成的任务,比如跟人开会,和每个 context 一张的几张 actions 列表。另外 GTD 建议把所有要打的电话单独列表,集中打电话。
  
  选择事做的时候,原则是先看日程表,再看 actions 表,首先考虑 context,再看有没有这么多时间,再看有没有这么多精力,最后再看任务的优先级(must, should, 还是 could).
  
  所以这的确是一个非常简单的系统。这个系统为什么有用呢?GTD 认为人生最大的不安的来源不是事情太多,而是有很多事情你该做却没有做,你跟人说了你要做却没有做。GTD 就是要确保你所有该做的事情都做到。
  
  所以 Collect 这一步,GTD 要求100%。把所有可能的事情都想到,目标是清空大脑。如果达不到100%,GTD 的意义就发挥不出来了。我用了几个小时的时间整理出来了5个 projects 和几十个 actions。而那些 CEO 之类的人物第一次使用 GTD,一般需要两个整天的时间,整理出来300到500个小时的任务量,其中包括30到100个 projects。
  
  我尝试了几个免费的 GTD 软件,发现完整表现所有 GTD 思想的可能是 ThinkingRock,这个软件从 collect 到 process 到各种 context 下的 actions, 每个 actions 还要设置时间,精力和优先级,每个 project 要设置完成条件,总之几乎是书里有什么这个软件就有什么。这个软件可以在各个平台下使用。
  
  但我发现一个更好的系统是 Simple GTD. 这个系统最大的好处是完全在网上,直接登录帐号就可以。Simple GTD 没有 Collect 和 Process 功能,因为我们本来就是用手机或者小笔记本 collect,然后直接往 Simple GTD 上 process 就是了。所有 actions 只按 projects 和 context 分类,没有废话,很实用。我现在把这个网站设为我的浏览器主页,它也成了我最常访问的网页。
  
  另外介绍一本书, Zen To Done。这本2008年出版的书实际上就是 GTD,它强调的是怎么逐步养成 GTD的习惯,可以配合着读读。ZTD 另外特别强调的是两点,第一点是从《高效能人士的七个习惯》里面学来的“重要事情优先”原则,第二点是从禅宗里面学来的简单原则。这本书没什么技术,可以作为 GTD 的一本“辅导书”。
  
  对于像我这样不用每天有五个会议要开的人来说,一个 GTD 系统可能的确不是必不可少的东西,只要做到”用任务表取代时间表”(http://blog.tianya.cn/blogger/post_show.asp?idWriter=0&Key=0&BlogID=588265&PostID=16690142) 和”一脑不能两用”(http://blog.tianya.cn/blogger/post_show.asp?idWriter=0&Key=0&BlogID=588265&PostID=16753472)就足够我们把事情做好了。但是如果你每天事情极多,一个科学完备的任务列表则是必须的。GTD 并不是什么特殊的发明,它的原则其实都是常识,它的方法也并非 David Allen 的独创,其实这一套方法之所以有用,就是因为它简单明了。
  
  从结绳记事开始人类就已经学会把大脑“外包”,GTD 只是这个做法的延续而已。在计算机和网络无处不在的今天,我们采纳一套更科学更完备的把任务列表外包的系统,是理所当然的事情!


Ural 1790

October 22, 2010

好吧,这个问题由来已久, 实在不曾想到居然被当作比赛题目了……

大意是这样的,有n个并排的房间,有一个小偷在初始时间随机藏在一个房间,每天会随机向左或向右移动一个房间。 你每天可以检查一个房间。 试设计一种方案使得一定能抓住小偷。
进化版本,也就是现在的1790是:给出一个方案,试问是否一定可能保证抓住小偷。

写了好久啊,啥都不说了,先上代码……

#include
#include
using namespace std;
int m,n;
bool oddJ=false, evenJ=false;
int s[100010];

void seee (int initial, int gender)
{
int in;
if (initial)
{
in = 2;
for (int i = 0; i != m; ++i)
{
if (in == 2 && s[i] == 2 && (gender+i)%2 ) continue;
if (s[i] == in) in ++;
else
in --;
if (in == 1) in =2;
if (in == n)
{
if (gender) evenJ=1; else oddJ=1;
//cout<<"!!"<<initial<<" "<<gender<>n>>m;
for (i=0; i !=m; i++) cin>>s[i];
if (n==2)
{
for (i = 0; i != m-1; ++i)
if (s[i]==s[i+1]) {cout<<"YES"; return 0;}
cout<<"NO";
return 0;
}

seee(1,1);
seee(1,0);
seee(0,1);
seee(0,0);
if (oddJ && evenJ) cout<<"YES"<<endl; else cout<<"NO"<<endl;
}


数学中的武林故事

October 2, 2010

1.黄教授.

这些故事都是在一个饭馆里从黄教授那儿听来的.

黄教授是我几十年的老相识,也是我一直佩服的朋友,他早年从学解析数论起家,在国内时就小有名气,到美国后改练算术几何,虽然没做得特别大,也算是成就斐然,毕业后经过一番波折,几年前在此间的一所大学混到了tenure,所以现在是正儿八经的教授.也许是读书时专心过度,黄教授四十多岁了,依然是光棍一条,错过了婚姻大事.好在他生性豪爽豁达,也不以此为意,而且喜爱户外活动,除了打网球,一年四季海边钓鱼不说,每到秋冬季节还扛把猎枪到山里打猎,所以每天乐乐呵呵,到也过得快活自在. 只是人到中年,诸事烦杂,岁月易得,我和他虽然同在一地,但见面的机会却是越来越少了.

长话短说,这次找到黄教授,是为了一个小朋友小胡.小胡两年前从国内顶尖大学数学系毕业后就来到美国的一所长青藤名校,师从一位几何大师读学位,最近刚刚过了资格考试,来我这儿玩几天散散心.我在国内时多蒙小胡的父母帮忙,知恩图报,很想有机会报达一下. 和小胡深谈几次,我感觉到他是有些彷惶,好象是数学上不知道该干什么好.”这样吧小伙子,”我说:”我带你去见黄教授,让他和你好好谈谈.”

找到黄教授后我说明了来意,黄教授呲出黄牙一乐:”老怪,你这不是要我来毒害青少年么?”

我说:”这是哪儿的话!小胡兄弟这样优秀的青年人才,又是初涉人世,老兄你不好好给他讲讲这江湖上的急风险浪,我还要为他的前途担心呢.再说黄兄,我们兄弟好一段不见了,也该好好聚聚,今天由我来做东.”

黄教授笑说:”我们是该好好喝一顿了,这样吧,十四街新开了一家川菜馆,我们去那儿边吃边聊如何?”

2.武林.

我们一行三人在小饭馆里坐定,两杯啤酒下肚,黄教授当即直奔主题:”小胡兄弟,你看武侠小说吗?”

小胡有些迷惑:”当然,在大学看过几本.”

黄教授说:”咱们中国人学数学的,没有不看武侠的.记得八几年的时候,那时国内管数学竞赛的老裘,是系统所的副研究员,有一天我们几个到他家里去玩,发现他家里满满的几书架书,没一本是数学书,全是武侠小说.看到我们吃惊的样子,老裘笑着告诉我们,数学界没有一个不是精通武侠的.老裘讲,八四年的时候中国数学会在上海开年会,会议结束后北京代表团一行一百多号人在机场等飞机,大家闲聊起来,隔行如隔山,本来没什么好说的,但最终发现了一个共同话题,武侠小说.这些教授研究员,居然个个都是武侠迷. 这帮老家伙还投票选了最喜爱的武侠,你猜结果是什么?居然一致通过是神雕侠侣. 金庸里我最讨厌的就是神雕侠侣,什么他妈古墓派,莫明其妙.”

我笑着说:”记得华老曾经说过,武侠小说是成年人的童话.”

黄教授说:”这都是表面上打哈哈,哪有成年人看童话的?那岂不是个神经病?这里面是有一个深层原因的,说起来简单,数学界实际上就是武林,就是江湖.我在国内国外数学界混了几十年,越来越感觉到这一点.”

小胡不解地说:”我所见过的老师个个都是谦谦君子,儒雅长者,没有象绿林中人物的.”

黄教授哈哈笑着说:”在学生面前装假正经,古今中外都一样.我问你,武林中最重要的是什么? 是武功,只要武功超群,其他什么都不重要. 数学界也是一样,最重要的是数学功夫,只要你解决了什么超级难题,不管怎么样别人也得服你.武侠里最看重的是座次排名,数学里也是一样,最重要的就是排名.老板给学生写推荐信,主要就是说这学生比谁谁强. Borel在回忆录里说,每年IAS的老家伙们最大的乐趣之一就是给申请Postdoc的人排名,看看谁比谁厉害,其实他没说的是这帮老家伙何止只给Postdoc们排名,他们是在给整个数学界排名,虽然从不明说,可圈里的人谁的心里都有数,谁比谁强,谁比谁差,一清二楚.”

小胡说:”IAS一共只有七个教授,怎么可能给整个数学界打分排名?”

黄教授摇头说:”你哪里知道这七个人的厉害,那可是真正的绝顶高手. 有一次有人给Weil看一篇paper,Weil看了作者就说,这个问题这小子做不出来,即使做出来也肯定是错的.果不其然,Weil老先生的眼光,可谓如电如炬.还有一次,十几年前我的老板曾尽几年之力写成一长篇paper,200多页,非常technical,复杂得要命,拿去给Deligne看,结果Deligne花几分钟看了前言就说有错,最终果然如此.就象是洪七公一看郭靖,就知道他有几分武功一样,呵呵,那七个人可都是人精哪.”

我说:”早年在国内的时候就听人讲,数学会开会,华老的座位一定要在正中间,往后是他的大弟子,二弟子,三弟子,等等,要是谁把苏步青排到了前面,那就惹了大麻烦了.”

黄教授笑着说:”华老那一茬人都是农村出身,所以难免把农村的陋习搬过来,但内涵是一样的.其实洋人这儿也不例外,记得Polya在回忆录里说,他和Hermann Weyl在ETH同事多年,但Weyl很少跟他说话,这个老家伙到老了也不明白,Weyl哪是不愿跟他说话,根本就是看不上他,想想看,西毒欧阳锋怎么会愿意和智灵上人说话?会几个大手印又能怎样?”

小胡也笑说:”我可就是做智灵上人的数学分析习题集过来的.”

黄教授笑说:”看来你是练了一身藏传武功.说起来武林里面帮派芜杂,数学界也是一样,山头林立,互相之间互不买帐,这由其在一些公立大学的数学系,山头之间为了一些蝇头小利而往往斗得你死我活,乐此而不疲.每四年开一次的数学家大会,整个儿就是一华山论剑,英雄排座次的战场,所以每次都热闹得不得了.”

我说:”上次的ICM在北京开,进了人民大会堂,还他妈开了国宴,够过瘾的.”

小胡说:”现在咱们中国人也开数学家大会了,今年就在香港,还要发金牌银牌呢.”
黄教授说:”你知道什么,中国人开数学家大会,这叫清理门户,把各种逆子叛徒给逐出门墙. 当然了,发发金牌银牌,除了奖掖后进,也有调济各个山头的意思.”

我说:”黄兄,咱们身为海外游子,时刻也要关心祖国建设,是不是?你给我算算,中国的数学什么时候能赶上世界一流?”

黄教授长叹一声:”哪有那么容易,说到底数学这东西是一种文化传统,没有几代人的努力,根本一点希望都没有.你看看国内这些搞数学的,哪有一个象样的?整天吃喝玩乐,研究的好象都不是数学.我觉得恰当地说,中国数学的水平非常类似中国足球的水平,一路货色.”

小胡笑说:”这不又输给日本队了么,球迷还闹了事.”

黄教授也笑着说:”咱们中国不出球星,倒出不少足球流氓,数学界也是一样,老陈岁数大了,回国后经常信口开河,一帮人跟着瞎起哄,欺负老年人,说中国要成数学大国了,其实都在给自己捞好处,又碰上李铁映这个科盲,居然把这个叫成陈省身猜想.我觉得这个猜想要加上一个必要条件,当中国队拿了世界杯冠军的时候.”

我们三个都哈哈大笑起来,引来不少临桌的侧目.

小胡止住笑说:”黄教授,我今天算是开了眼界,你能不能再给我多讲讲数学界里的人物?”

黄教授说:”我在这个行业里混了这么多年,各种各样的人物也都见过,见得多了之后,也不知怎么了,越来越觉得这些数学家们都在武侠小说里见过,搞到后来我自己也胡涂了,好象是生活在武侠里一样.”

我说:”你到底见了些什么人?”

黄教授说:”比如说星宿老仙,东方不败,四大恶人,东邪西毒,南帝北丐,任我行,苗人凤,左冷禅,苏星河,带头大哥,韦小宝,岳不群等等,有华山派,衡山派,少林派,峨眉派,星宿派,有练九阴真经的,练葵花宝典的,逆行经脉的,走火入魔的,剽窃秘芨的,还有破腹自杀的,什么都有.”

小胡摇头说:”这些到底是谁呀?”

黄教授说:”你先别忙对号入座,已后慢慢就明白了.”

我问:”谁是丁春秋?”

黄教授瞪我一眼说:”老怪,你这是明知故问.”然后黄教授轻轻说了个名字.

看着小胡目瞪口呆的样子,黄教授和我都笑了起来.

3.女人.

我说:”黄兄,你把数学界比做武侠世界,我多少同意.可是有一点数学界和武侠截然不同,在武侠小说里到处是美女缠在这些侠客身边,可你去看看,数学系有几个女的?这里面又有谁是漂亮的?”

黄教授说:”这也难怪,女人天生就不应该学数学,其实不只是数学,任何理论科学,到后来都是个体力活,需要长时间的concentration,而女人到了二三十岁,都要考虑嫁人生孩子的问题,哪还有可能长时间地集中精力做数学?Weyl曾经说过,There are only two women in mathematics, one is not mathematician, one is not woman.呵呵,他说的这两个女人,一个是Sofia Kovalevskaya,另一个是EmmyNoether,这两位的画像现在还在我们系里挂着呢. Kovalevskaya长得漂亮,可她的paper谁都知道是被她美色迷倒的老板Weierstrass代写的.至于Emmy Noether,无论从长相到言行举止,没有一点象个女人的,整个一男的.”

小胡说:”Weierstrass还这么不老实,真想不到.”

黄教授笑着说:”相比现代数学界的几个糟糕老头子,Weierstrass还算是有情有义的.”

我说:”怪不得数学系的光棍特别多呢.”

黄教授叹气说:”不单是数学系的女生少,一般象样点的女孩也不愿嫁给数学系的人.一来没钱,二来数学系的人一做起问题来,其它什么都忘了,没法过日子.一个数学问题,短则做几个月,长则几年,陷进去之后,每天走路想,吃饭想,连和老婆上床都在想,不象一般人还有个上下班,这是他妈全天候24小时,每天都神神癫癫的,做不出问题还要拿老婆当出气筒.聪明点的女孩谁愿意过这种不人不鬼的日子.

“哈哈哈哈…”我们笑得前仰后合.

黄教授接着说:”我还读研究生的时候,老板跟我说过,两个数学家相遇,第一个话题肯定是数学,第二个话题肯定是Sex.我当时还半信半疑,后来才发现是千真万确.你想,一堆大男人,整日里切磋武功做问题,闲下来的时候还能谈什么其它的?外边的人来了,总觉得数学系里是成堆的色棍,每天不务正业谈论女人,不理解个中原因.”

我说:”费曼在自传里讲,有一次他大着胆子到Las Vegas逛妓院,到那里才发现那儿的妓女认识他的大部分教授同事,费曼还纳闷,难道这里的婊子都是Caltech物理系毕业的不成?”

黄教授笑着说:”你这故事多半是费曼自己编造的,为了给他自己的不轨行为打圆场.数学系虽然色棍多,但多半是纸上谈兵,出一两个采花大盗不奇怪,但说人人如此就有悖常理. 原因很简单,每天都在想问题,实在不会有太多其它空闲时间.给你们讲个典型的小故事. 我在读书的时候有一个日本师兄,不但学问做得好,而且为人谦虚有礼,和我们关系都很好. 有一段时间大概用功过度了些,师兄有些厌倦,就到学校的酒吧去消遣,居然真的勾上了个漂亮的白人女孩,有那么几天这两位手拉手在系里走来走去.过了几个星期我发现日本师兄又一个人鬼鬼祟祟地在系里东躲西藏,我问他怎么回事,师兄直跳脚说,老子还要回来读paper做问题呢,哪他妈有空整天陪她鬼混?呵呵,师兄本想逢场做戏,没想到撞上一个多情的,纠缠不休,害得我这师兄在系里躲了几个月,全系传为笑谈.这一晃多少年了,现在师兄在日本也当上教授了.”

4.激情.

我说:”做问题到底有多大的吸引力,让你这师兄这么神魂颠倒,连女人都顾不上了?”

黄教授说:”罗素把这个叫the intoxicating feeling of sudden understanding,中文里应该叫顿悟吧,一个问题思考了很久,突然一瞬间明白了,这种感觉,绝对是一种生理快感.Weil老先生曾经比较过这种快感和性高潮时的快感,他的结论是两者各有千秋,但时间长短有所不同.性快感总是短时间的,哪怕你他妈是练了藏传密宗吃了大补丸,了不起也就能折腾几十分钟,而顿悟的快感能持续好几天.我的老朋友田刚在国内电视上说什么会当凌绝顶,一览众山小,不懂的人只知道他在自吹自擂,其实他是在说这种快感,只不过不好明说罢了.”

我笑说:”所以外人说数学系的人都是色迷迷的也是有道理的.”

黄教授叹气说:”往深里讲这其实是一种激情,一种无法控制排山倒海的力量在推你前进,任何搞数学的都会有亲身体会,但人的一辈子这种激情最多只有几次,现在的数学体系浩大繁杂,要做出大的问题没有这种激情根本就没有可能.菲尔兹奖只给40岁以下的是有道理的,40岁以上的人步入了中年,还会有个什么激情?荷尔蒙分泌量已经不对了,该雄起时雄不了,还谈做什么数学.”

我知道黄教授也40多了,而且和菲尔兹奖也只是擦身而过,就说:”黄兄,菲尔兹奖之外还有Cole奖,Wolf奖,再说40岁以上真的不灵了?总会有些例外吧.”

黄教授说:”我只知道一个例外,是Grothendieck.在退隐多年之后,1982年时,Grothendieck老先生突然在5个月内一气写下1600页的paper,真正的激情迸发,那时他已是50出头的人了,了不起呀.你猜他的paper的标题是什么,The Long MarchThrough Galois Theory,哈哈,Galois理论的长征,怎么样,够厉害的吧.”

看小胡有些困惑的样子,我说:”长征对咱们中国人来说是一政治名词,历史名词,最多也就是宣传队播种机,可是对西方人来说长征是一个非常浪漫的故事,意谓着为了某种目标而历尽千辛万苦,最终取得胜利. 我记得美国老牌政治家布热津斯基有一次在电视上教训几个小瘪三,说小子们,你们知道长征是什么,长征是从纽约出发走到三藩,再从三藩走回来,然后再走两个来回!”

黄教授点头说:”是这样的,Grothendieck老先生对代数基本群的刚性有着超人的领悟,他认为这完全决定了双曲曲线的同构类,以及曲线模空间的同构类.通过对曲线以及模空间的胞腔分解和代数基本群的作用,老先生认为可以得到对Q上绝对Galois群的精确描述,这就是他心里的长征.”

看我们有些发晕,黄教授笑说:”算了算了,不和你们谈细节了,再给你们说个Grothendieck的故事吧.你们知道Grothendieck老先生在盛年的时候就归隐田园,从数学界消声匿迹了,二十几年前我老板刚刚毕业,在Rutgers当助教,有一天在餐厅吃饭的时候,老板赫然看到Grothendieck,正抱着一个Rutgers的女生在亲热吃饭呢.老板大着胆子上去打招呼, Grothendieck斜着眼看他问:’你是干什么的?’ 老板说是做代数几何的,Grothendieck一乐说:’我对那东西已经不感兴趣了,现在我在干更重要的事.’老板琢磨着这更重要的事就是搂着女孩吃饭,就胡说几句走了.”

“过了一阵老板听说那个女孩跟着Grothendieck去法国了,忽忽又过了一年多,这女的抱着一个刚出生的孩子又从法国跑回Rutgers来,举目无亲,只好找到我老板来哭述,Grothendieck已经把她给抛弃了,显然这女人和小孩已成了老先生新长征路上的绊脚石.”

我笑说:”长征路上女人生了孩子,留在当地脱离大部队的不算太奇怪.”

黄教授有些出神地说:”我最近听说这孩子已经长大,从哈佛毕业了. 二十多年一晃过去,Grothendieck再也没有了消息,他老人家的万里长征,也该走了一大半了吧.”

时间不觉过去,夜已深了,饭馆里只剩了我们三个,掌柜的远远的在不耐烦地看我们,我看黄教授已有几分醉意,就说:”黄兄,今天就到这吧,我们改日再来.”

外面夜澜风静,街上依然车水马龙,我们再没说话,走到路口黄教授向我们挥挥手,径自回去了.


Convert Latex to WordPress Using C++

September 17, 2010

Posting a blog on WordPress is a quite hard work esp. you want to insert some latex phrases. There used to be a tool named “Latex2Wordpress” developed by a blogger, but since it’s written in Python, and I know nothing about it, it’s useless to me. Having several failures, I finally decided to write such a tool for myself. So here it is:

 
<span style="font-family: monospace;"> </span>
<div id="_mcePaste"></div>
#include<iostream>
#include<fstream>
#include<sstream>
#include<string>
#include<algorithm>
#include<map>
#include<set>
using namespace std;
int main()
{
string InputStr;
bool Vsharp=1;
bool VDsharp=1;
ofstream file1;
file1.open("Output.txt");
string Output;
int tempVal;
while (getline(cin,InputStr))
{
stringstream InputLine (stringstream::in | stringstream::out);
InputLine << InputStr;
//cout<<InputLine;
while (InputLine>>InputStr)
{
cout<<" "<<InputStr<<endl;
tempVal=InputStr.find("$",0);
cout<<tempVal<<endl;
cout<<InputStr.find("$",0)<<endl;
if (InputStr.find("$",0)!=-1 && (InputStr.find("$",0)==string::npos))
{
if (Vsharp) InputStr.replace(tempVal,1,"$ latex ");
Vsharp=!Vsharp;
}
if (InputStr.find("$")!=InputStr.rfind("$")) Vsharp=!Vsharp;
if (tempVal=InputStr.find("$",0)!=-1)
{
if (VDsharp==1) InputStr.replace(tempVal-1,2,"$ latex "); else InputStr.replace(tempVal-1,2,"$");
VDsharp=!VDsharp;
}
else
{
tempVal=InputStr.find("\[",0);
if (InputStr.find("\[",0)!=-1)
InputStr.replace(tempVal-1,2,"$ latex ");
else
if (tempVal=InputStr.find("\]",0)!=-1)
InputStr.replace(tempVal-1,2,"$ latex ");
}
Output+=InputStr+" ";
}
Output+='\n';
cout<<Output<<endl;
}
file1<<Output;
file1.close();
system("pause");
}

For now there’s only the most basic function: it could only turn $…$, $…$, \[…\] into ...   I’m considering to update it once I get some free time. So far, it could meet the basic requirement. Hurray~!


About Greatest Common Divisor

September 16, 2010

Normally, there are two ways to define the greatest common divisor.
Definition A:
p=gcd(A) iff
i. p|s if s\in A
ii. a|p if a is a common divisor of $\latex A$
Another equivalent definition B is:
p=gcd(A) iff p is the largest common divisor.

Update:
OK, I think I made a mistake last night. In Definition A that GCD is the common divisor that divides all common divisors, it needs extra effort to prove such common divisor exists. Once this is done, the two definitions are trivially equivalent.

Theorem. A\Leftrightarrow B
Proof. A\Rightarrow B: Suppose q is a common divisor of A and q>p, we have p|q, hence p\geq q. Contradiction.
B\Rightarrow A: It is pretty hard. Actually I’m considering using the following theorem:

Theorem. Let a_1,a_2,\dots,a_k be integers, not all zero. Then, there exist integers x_1,x_2,\dots,x_k s.t. \gcd(a_1,\dots,a_k)=a_1x_1+\dots+a_kx_k

I’ll update once I found the proof.

There are three ways to establish the GCD theory, according to by Chengdong Pan. They all depend on Long Division algorithm, but via different methods, i.e. least common multiplier of common divisors, Bezout’s identity and Euclidean Algorithm, respectively.

1. Least common multiplier of common divisors.
Lemma If a_i|S \mbox{ for }i=1,2,\dots,n, then lcm(a_1,a_2,\dots,a_n)|S
Proof.
Let L=lcm(a_1,a_2,\dots,a_n), by Long Division, if s\in S, s=qL+r,0\leq r\leq L-1. Since a_i|s,a_i|L, we have a_i|r for all i=1,2,\dots,n. Hence r=0

Theorem gcd(S)=L=lcm(a_1,a_2,\dots,a_n), where a_n are all common divisors of S.
Proof.
By definition, L divides all common divisors of S, so it satisfies Def A(i). By the lemma, it satisfies Def A(ii).

2. Bezout’s identity.
Theorem Suppose a_1,a_2,\dots,a_n are integers s.t. \sum a_i^2\neq 0.
(i) gcd(a_1,\dots,a_n)=min\{s=\sum_{i=1}^na_ix_i:x_i\in \mathbb{Z}(1\leq i\leq n),s>0\}
(ii) There exists x_1,\dots,x_n s.t. gcd(a_1,\dots,a_n)=\sum_{i-1}^na_ix_i

Proof.
Since \sum_{i=1}^na_i^2>0, S is nonempty. Here S denotes the set \{s=\sum_{i=1}^na_ix_i:x_i\in \mathbb{Z}(1\leq i\leq n),s>0\}. By the minimum number principle, S has minumum, denotes as s_0. Obviously if d is a common divisor of a_1,\dots,a_n, d|s_0. Therefore it satisfies Def A(ii).
If there is a_j s.t. s_0 doesn’t divide a_j, by Long Division, a_j=qs_0+r, r=a_j-qs_0\in S, but r<s, contradiction. Hence s_0 is a common divisor of a_1,\dots,a_n. Therefore s_0=gcd(a_1,\dots,a_n).

3. Euclidean’s algorithm
Let D(S) be the set of all common divisors of S, then by the Euclidean’s algorithm, D(a,b)=D(r_n). Hence gcd(a,b)=r_n.
Theorem gcd(a,b,c)=gcd(gcd(a,b),c)
Proof. If d|a,d|b,d|c, then d|gcd(a,b) by Euclidean’s algorithm. Hence if d|gcd(a,b,c), then d|gcd(gcd(a,b),c).
If d|gcd(a,b),d|c, then d|a,d|b,d|c is satisfied trivially.

By the theorem, we can derive the gcd of a_1,\dots,a_n by multiple times of Euclidean algorithm.

By Chengdong Pan, “It is the ideas, conceptions, methods, structures of theory that are the most precious and important part of mathematics”. I’ll update once I have further understanding of the GCD theory.


Some notes for Cake-cutting problem

May 12, 2010

It is quite difficult to distinguish what is an easy problem and what is a hard one. Recently I got sucked in such a very famous problem called “cake-cutting” problem. This one is relatively easy. However, the envy-free problem is much more difficult, and I still don’t know whether there is a discrete solution for the 4-people division.

After reading the paper published on Discrete Applied Mathematics(1984), named “A Note On Cake Cutting”, I got a new idea to divide the cake.

My original solution to solve the 4-people cake-cutting is as the follows:

  • 1. 2-people cake-cutting:
  • Adapting the normal choose and pick method.

  • 2. 3-people cake-cutting:
  • Denote the three people A,B,C, we have:
    A divide the cake into 1/3,2/3
    If B,C all think the 1/3 part is larger than 1/3, then let A divide the 2/3 part into 2 parts, and choose a piece which B,C both think is \leq \frac{1}{3} (If A can’t find such piece, then A can randomly choose one piece and there must exist one way to assign two pieces to B and C).Let B and C divide the left cake. Totally they need at most 3 cuts.

  • 3. 4-people cake-cutting
  • Denote the four people A,B,C,D , we have:
    A divide the cake into 1/2,1/2, denoted as \alpha,\beta
    If B,C,D all think \alpha \geq \frac{1}{2} , Then A divide \beta into two equal parts, and choose one part which B,C,D all think \leq \frac{1}{2}(Otherwise we have a way to settle \beta ). Then let B,C,D divide the \alpha. Therefore there are at most 5 cuts.

    Otherwise, without loss of generality, suppose B thinks \alpha\geq \frac{1}{2},C,D think \alpha \leq \frac{1}{2}, we may let A,B divide \alpha , and C,D divide \beta . If this is the case, we only need 3 cuts.

But this method is quite difficult to be generalized to n(n\geq 5) people’s case. However, the paper presented a new way to guarantee the fairness. Actually it is quite similar to the old 3-envy-free discrete method. Normally, it would use the assumption that everyone can actually see whether one piece is larger than the other one.
The procedure is like an elimination process. Every time they choose a player who thinks he chooses \frac{1}{n}, but all the others think he chooses less than \frac{1}{n}. To get this, the following algorithm can be taken:

For i=1 to n
{
i cut a piece m=\frac{1}{n}
For j=i+1 to n
if j think m>\frac{1}{n}
reject
divide m into a smaller piece
j=i
}


Vandermonde determinant

March 31, 2010

Vandermonde Det


0.999999…=1

March 31, 2010

最近看数学分析,自觉收获不小,一些一直没有弄明白的概念性问题得到了澄清。
一个最老生常谈的问题,”0.999999…是否等于1″。我从小学就开始接触这个问题并拿小学时学到的并不严谨的理论当金科玉律给别人讲了很多年,然而至今才明白真正的道理。郁闷的是,居然还有很多伟大的民科一直坚持自己的理论且完全不顾自己理论里的漏洞,盯着看似直觉的东西就拼命扯,悲剧啊。
最初的证明是:1/9=0.1111…., 1/9*9=0.9999…,但1/9*9=1,所以0.9999…=1。 于是按小学数学就产生了一个疑问,1/9只是近似等于0.1111…啊,毕竟除不尽嘛。 如今看来,这种典型的错误就是拿有限的性质往无限上套,而事实上,有限与无限的运算法则等种种性质并不是完全相同的,甚至说有很大的不同。

首先要指出实数的一个性质:实数的稠密性.即,任意两个实数a,b,不妨设a< b ,总有实数 a < c < b.在定义了实数的四则运算和偏序关系之后,这个是很好解决的,即,只要令c=(a+b)/2即可.但是要利用实数理论证明的话,是把实数转化成小数来看待的,这里略去不表.

那么,如果两个数a,b之间,找不到一个数c,令a < c < b的话,则说明a=b.下即证明任何数都不可能在0.99999….和1之间.
用反证法.假设有一个数c符合条件,将其写成小数形式为必为x.A0A1A2A3….其中A1A2A3…各表示一个数位,则必有:
x=0,不然的话c必大于等于1.
c的小数部分的每一位数都必为9,不然,不妨设Ap为左起第一位不为9的数位,则有:
c<=x.9999…(Ap+1)<0.99999…,显然不成立
即,c必为0.9999….的形式,但这又等于0.99999,这就说明假设不成立,即0.9999….=1

好吧,我的证明完毕,现在开始叙述理论:
事实上,形如c=x.A0A1…Ap99999999…这种小数称为不规范小数,其中Ap9,除此之外的实数都称为规范小数,形如c的对应的规范小数是c=x.A0A1…(Ap+1),由定义,一个不规范小数等于它对应的规范小数。于是,0.99999…=1