数学史 · 中文镜像

数学史专题

实数:理解的尝试The real numbers: Attempts to understand

Epple在[2]中写道:-

19世纪末的实数是什么?一个直观的、几何的或物理的量,还是这种量的比?一个思想中相同事物的集合?人类心智的创造?一个受某些规则约束的任意符号?一个纯粹的逻辑概念?没有人能够确定地决定这一点。只有一件事是毫无疑问的:没有任何共识。

实数是一致的吗?某一天会出现不一致,导致大部分数学大厦倒塌吗?开始被感觉到的一些直观困难围绕着这样一个事实:实数不可数,即它们不能与自然数建立一一对应。格奥尔格·康托尔在1874年证明了实数不可数。他在1890年提出了著名的“对角线论证”,给出了实数不可数的第二个更引人注目的证明。为此,他假设实数是可数的,即它们可以按顺序列出。假设这个列表是

L={n1,n2,n3,n4,...}L = \{n_{1} , n_{2} , n_{3} , n_{4} , ... \}

此处一段未译出,以下为英文原文 and let d(i,j)d(i, j) be the ii-th digit of njn_{j} . Define the real number rr to have kk-th digit 1 if d(k,k)=2d(k, k) = 2 and rr to have kk-th digit 2 if d(k,k)2d(k, k) ≠ 2. Then the real number rr is not in the list LL since if it were then it would be ntn_{t} for some tt. But the tt-th digit of rr differs from the tt-th digit of ntn_{t} by construction, so we have a contradiction. Hence the real numbers are not countable.

我们将构造一个特定的实数,尽管历史上它并非人们关注的对象,但它能让我们理解当时出现的一些问题。我们从100个两位数开始。一个简单的编码可以让我们把它们翻译成字母,00变成aa,01变成bb,……,25变成zz,26变成AA,27变成BB,……,51变成ZZ,然后编码所有标点符号,再让剩余直到99的所有数字都翻译成空格。现在从这100个二位数块出发,创建一个数,比如cc

cc = 0.01020304050607080910111213141516171819202122232425...

然后继续用10000对二位数块0000,0001,0002,……,0099,0100,0101,……

然后是1000000个2-块的三元组,等等。我们可以把cc表示为长度为1的线段上的一个点。然而,每一句曾经写下或将要写下的英语句子,都出现在cc解码成字母的过程中。例如“one third”有9个字符,所以将从cc中在十进制小数点后大约101810^{18}位数字处被解码出来。这篇文章就在那里,既带有不可避免地出现的印刷错误,也有一个校正版本在那里(但人们必须走到十进制小数点右边相当远的地方才能找到它!)。整个莎士比亚作品都在那里,每一本尚未写出的书也都在那里,等等!

让我们用cc来描述一个1905年发现的悖论。首先要注意的是,所有用英语对实数的描述(让我们忘掉其他语言中的词语)都必须出现在cc中,因为每一个可能的句子都出现在cc中。例如,正如我们已经注意到的,“one third”会出现,“the base of natural logs”会出现,“the ratio of the circumference of a circle to its diameter”也会出现,等等。这将使我们能够解释Richard's paradox,它由Jules Richard在1905年发现。用英语对实数的这种描述只有可数多个,所以所有实数(除了一个很小的可数子集)都永远不能用英语描述。然而,这并不是那个悖论。Richard通过使用格奥尔格·康托尔的对角线论证得到了它。如下创建一个实数rr,比如:

如果cc的第nn块翻译成对实数r(n)r(n)的一个描述,那么就把rr的第nn位数字设置得不同于r(n)r(n)的第nn位数字。如果cc的第nn块不描述一个实数(其中大多数当然甚至用英语都没有意义),那么就把r(n)r(n)的第nn位数字设置为1。

现在实数rr无法用英语描述,因为按构造它不同于每一个能用英语描述的实数。这有点令人担忧。当然,更糟的是,我们在上一段刚刚用英语描述了rr!如果Richard的悖论能告诉我们什么,那或许就是警告我们在做数学时不要使用英语(或任何其他语言)。

Emile Borel于1909年引入了正规实数的概念。他的想法是提供一种检验,看实数的数字是否以我们随机选取每个数字时会出现的方式出现。首先假设我们有一个以10为基写出的实数,即十进制展开。那么如果它是一个“随机”数,数字1应该出现大约1/10的时间,所以,如果我们用N(1,n)N(1,n)表示1在前nn个十进制数字中出现的次数,那么当nn趋于无穷时,N(1,n)/nN(1,n)/n应趋于1/10。类似地,对于集合{0, 1, 2, ..., 9}中的所有数字ii,当nn趋于无穷时,N(i,n)/nN(i,n)/n应趋于1/10。但一个特定的2位数,比如47,应该在所有两位数块中出现大约1/100的时间,等等。如果每个kk位数在所有kk数字块中出现大约1/10k1/10^{k}的时间,埃米尔·博雷尔称一个数(以10为基)为normal。如果它在每个基bb中都是正规的,他称之为absolutely normal

埃米尔·博雷尔能够证明,在某种意义上,几乎所有实数都是正规的。他的证明涉及表明非正规数构成实数的一个测度为零的子集。然而,仍然有不可数多个非正规数,这通过取所有不含数字1的实数子集很容易看出。这些是不可数的,可以用格奥尔格·康托尔的对角线论证看出,但显然它们都是非正规的。显然没有有理数是正规的,因为它最终以循环模式结束。然而,尽管证明了这些事实,埃米尔·博雷尔无法证明任何特定的数是绝对正规的。这首先由瓦茨瓦夫·谢尔宾斯基在1917年实现。

在1900年8月于巴黎举行的国际数学家大会上提出的问题清单中,大卫·希尔伯特指出数学基础最紧迫的问题之一是算术一致性的证明。他试图自己解决但未成功。试图证明算术一致性是一回事,但已知集合论会导致悖论。这些悖论让许多数学家担忧,他们认为数学的基础需要建立在一个不包含内在矛盾的逻辑基础上。三个主要悖论分别由切萨雷·布拉利-福尔蒂在1897年、伯特兰·罗素在1902年和Richard在1905年提出。第一个源于序数本身形成一个有序集,其序型必须是一个序数。伯特兰·罗素的悖论是众所周知的关于所有不以自身为元素的集合的集合,而Richard的悖论我们已在上文解释。一些数学家提出的解决方案只允许数学处理可以构造的对象。儒勒·昂利·庞加莱(1908)和赫尔曼·外尔(1918)抱怨分析必须基于消除非构造性特征的实数概念。赫尔曼·外尔在其1918年的著作中主张分析应建立在可数连续统上。正是实线的不可数、因而非构造的方面,赫尔曼·外尔觉得导致了问题。

库尔特·弗雷德里希·哥德尔在1930年证明了一些惊人的定理。他表明,一个包含自然数算术的形式理论必然导致在该理论内既不能证明也不能否证的陈述。特别是,算术的一致性是不可证明的,除非使用一个更高阶的系统来创建证明,而这个系统的一致性同样不可证明。1936年,格哈德·根岑证明了算术一致性,但只使用了比算术本身更不被接受的超限方法。尽管这个研究课题仍然活跃,大多数数学家接受格奥尔格·康托尔的不可数世界和非构造的实数系统。

1933年,弗洛伦斯·南丁格尔·大卫 戴维·高恩·钱珀瑙恩,当时是剑桥大学的本科生,也是艾伦·图灵的朋友,设计了钱珀瑙恩数。依次写下数字1,2,3,……,9,10,11,……,构成一个数的十进制展开

0.12345678910111213141516171819202122232425262728293031323334353637383940 ...

在1933年发表于Journal of the London Mathematical SocietyThe Construction of Decimals Normal in the Scale of Ten中,钱珀瑙恩证明了他的数在十进制下是正规的。1937年,库尔特·马勒证明了钱珀瑙恩数是超越数。事实上,他证明了更强得多的结果:若p(x)p(x)是整系数多项式,则通过连接整数p(1),p(2),p(3),..p(1), p(2), p(3), ..得到的实数

0.p(1)p(2)p(3)...0.p(1)p(2)p(3)...

是超越数。钱珀瑙恩数就是p(x)=xp(x) = x的特殊情形。1946年,Copeland和埃尔德什证明了数

0.2357111317192329313741434753596167717379838997101103107109113127131137139 ...

以与钱珀瑙恩数类似的方式得到,但用素数代替所有正整数,是正规数。钱珀瑙恩数和Copeland与埃尔德什数都不是绝对正规数。

问π、√2、ee等是否正规是合理的。答案是,尽管“知道”这样的数必定是绝对正规的,但至今尚未找到这一点的证明。事实上,虽然尚未证明任何无理代数数是绝对正规的,但2001年有人猜想情况就是如此。

1927年,埃米尔·博雷尔提出了他的“无所不知”数。我们再次用我们的数cc来说明这一点。由于cc包含每一个英语句子,它包含每一个可以用英语提出的真/假问题。如下构造一个实数kk。如果cc的第nn个块翻译成一个真/假问题,那么如果该问题的答案为真,就把kk的第nn位数字设为1,如果答案为假,就设为2。如果cc的第nn个块不能翻译成一个真/假问题,那么就把k的第nn位数字设为3。于是kk回答了用英语曾经提出过或将来会提出的每一个可能的问题。埃米尔·博雷尔kk描述为一个不自然的实数,或者说一个“不真实”的实数。埃米尔·博雷尔用一整本书[1],于1952年出版,来讨论另一个想法,即“不可达数”的想法。

一个accessible number,对埃米尔·博雷尔而言,是一个可以描述为数学对象的数。问题在于,我们只能用某种有限过程来描述一个实数,因此只有这样的数才是可及的。我们可以很容易地描述有理数,例如说七分之一,或者指定循环小数展开142857。因此有理数是可及的。我们可以很容易地指定约瑟夫·刘维尔的超越数:在第n!n!位为1,其他位为0。只要我们有某种有限方式指定有理数奥古斯丁·路易·柯西序列中的第nn项,我们就得到了所得实数的有限描述。然而,正如埃米尔·博雷尔所指出的,这样的描述只有可数多个。因此,正如Chaitin在[6]中所写:-

随机选取一个实数,它可及的概率为零——它作为一个个别数学对象对我们可及的概率为零。

1936年,艾伦·图灵发表了一篇题为On computable numbers.的论文。艾伦·图灵没有考察那些可以用英语描述的实数,而是考察了一种非常精确的数描述,即可以由计算机逐位输出的数。然后他拿Richard的悖论又跑了一遍,这次用的是可计算数。显然,计算机程序由有限个符号组成,是可数的。因此可计算数是可数的。列出所有计算机程序——事实上它们都会出现在上面的数cc中。用格奥尔格·康托尔的对角线论证构造一个新的实数tt,其第nn位定义如下。如果第nn块是一个输出实数的程序,就让tt的第nn位不同于所输出的可计算数的第nn位。如果第nn块不是输出实数的有效程序,就让tt的第nn位等于1。现在tt不可能是可计算的,因为按构造,它至少在一位上与每个可计算数不同。然而,我们刚刚给出了产生这个数的配方,它可以很容易地被编程输出tt,所以tt是可计算的。

尽管Richard悖论的“英语描述”必定是解决该悖论的关键,但在这种情况下,我们的“可计算数”非常精确,不受同样困难的制约。我们真的有了表明实数不一致的终极悖论吗?不!那么我们的悖论错在哪里?错误在于,当我们运行计算机程序时,我们不知道它们是否最终会输出第nn位数字。从这个论证我们可以推断,不可能判断一个已经输出了kk位数字的计算机程序是否最终会输出第k+1k+1位数字。