数数数到超越数

96
炒冷饭
2015.10.17 20:16* 字数 4754

在《可数的无限》的一篇中(没读也没关系),我们区分出了可数集和不可数集。有可以依次从小到大不断增长的可数集,也有无法从小到大依次排列但总体趋势是增长的可数集,另外还有无法从小到大依次排列但总体趋势可以增长的不可数集。我们还发现一个集合居然可以被自己的真子集一一对应,从某种意义上来说,他们居然“一样大”。另外,我们得到了一个头变大了的最终结果。

数学学到最后,居然发现自己连数数都不会了,真是悲哀啊。

实际上,数数也是一种运算,即下一个,换个词说就是增长。现在是不是开始觉得数数本来就是特别抽象的东西,不懂也不算丢人了? :D

我们对增长进行抽象,便得到了加法。

比如0+1,意为0增加1次;0+1+1,意为0增加1次之后又增加1次;0+m,意为0增加m次;1+m,意为0增加1次,再增加m次。m加n的增长1次为m+n的结果增长1次,这样加法就被定义完了。

但事情还没完。

对于自然数n,n+0等于几?上面的定义中,我们知道了0+m=m,但是我们现在还不能说n+0=n,因为我们还不知道a+b=b+a.倘若我们用交换律来证明n+0=n就犯了循环论证的错误。

所谓循环论证就是用下一步得到的事实来证明之前初等的事实,而后用这个初等的事实证明下一步的结论。不过真的很可气啊,如此简单的”显然的“命题却不得不笨笨的推倒他。

让我们想象自己来到一个数学混沌初开的世界吧,比如一颗尚未形成文明的星球。这是一个毫无规则的世界,需要你细心的定义。这样想,是不是觉得自己站到了上帝视角上?感觉棒棒哒~

要证明n+0=n,这显然不能用常规的计算手段得到,因为这已经是“最简单”的运算了。居然,我们连加法也不会了!

如果大家记性好的话,就应该还记得上面几段里我有提到数数也是一种运算,即增长的运算。现在,我们有了更加初级的运算,也就是说,我们可以通过两边分别求值来证明是否相等了。

自然数作为0和增长的序列,倘若n+0=n成立,则意味着对n的下一个自然数也成立。问题转换为,n的增长1次加上0等于n的增长1次,由于加法的定义,它等于n+0之后增长1次,那么这便是n增长1次,证毕。

通过上面的例子,我们已经有了到了加法作为增长的抽象模糊概念。当然,还有很多加法的性质,我们就不在这里一一分析了,大家可以当做练习。现在,我们先假定加法的性质已经通过最基础的增长和不断新增的已知的加法运算法则证明了。

是时候引入乘法了。乘法作为不断的加法的抽象,如同加法的定义一样,我们首先定义0*m,随后定义n*m,为了使其对于所有自然数成立,我们引入n++与m相乘,得到n*m+m

同样的,我们利用指数运算是不断的乘法的抽象来定义指数运算。

似乎,我们已经摸到了数学抽象的法门,首先是对增长的抽象,以及一系列关于增长的抽象,还有对于可数抽象而带来的等势的概念。保持这种隐约的敏锐度,让我们继续,现在来进行一些丰富的高级的运算:

怎么求S的值呢?

不难发现,S中的每一项依次为上一项的2分之一,也就是说每一项乘以2可以得到上一项。因此,我们不妨令S*2,得到:

我们很容易就得到了,S=2S+2,于是S=2

这个时候,我们对S的每一项取倒数,依然用加法把它们链接起来,得到:

我们不是刚接受了抽象的思想嘛,把刚才2S的方法抽象出来运用到这里,结果我们得到:

2S=S-1,也就是S=-1

这显然是错的。

为什么具备同样形式的算式,不能用同一种求解方式呢?事实看上去会带来一个可怕的结论——即我们不得不为每一个求解过程创造不同的算法。

我们首先需要反思的是对于抽象的运用。在我说到加法是对增长的抽象的时候,是试图用加法描绘不断增长,为了便利而抽象;乘法亦是如此,是对一系列加法的抽象。也就是说抽象并不是方法本身,而是方法描述。之所以运用抽象是为了隐藏方法的繁琐细节,留下简洁,从而解放我们有限的脑力,同时也更加符合我们的思考方式,加速我们的理解和运算。

在通过对于某种运算的抽象我们得到了新的运算方法时,我们务必要确认的是抽象之前的方法是什么,否则就会出现对于抽象(新法则)的滥用。

我们回过头继续看为什么第一个S可以通过乘以2来计算。

这里有无数次加法运算,由于我们试图求S的值,不自觉的就预设了S存在一个实数值。由于S的增长幅度随着运算的深入而逐渐变慢,以至于越来越不明显,从某种意义上来说停止了增长从而最终稳定在了某个实数上。基于这样的事实,我们的预设是没有问题的。因此把整个的S的值抽象成1个实数,继而用基本的有限的运算法则求出了S

然而,在求第二个S时,由于先前的成功经验,我们继续预设了S存在一个实数值。由于S的增长幅度随着运算的深入而越来越快,根本没有边界。因此我们的预设是完全错的,继而无法抽象成数值运算来求S

也就是说,我们在抽象出2S这种解法的同时假设了S存在一个实数值,这是不带参数的求值。而第二个式子中其值肯定要包含第N项这个参数,这是有参数的求值。有无参数的区别决定了其抽象方法的不同,倘若我们规定第二个求和中其项数是有限的,那么我们就可以运用这样的抽象,因为S的值此时为一个实数值,是没有参数的。

这样的思考并不是同义反复或是出于无聊,判断一个数学法则能否抽象并确定它的应用范围并不是小事,甚至有人为此而丧命。

如果你在公元前500年,你应该如何说服毕达哥拉斯不淹死希帕索斯呢?

关于加法和乘法我们已经能够很自如的表达,同时减法和除法也随之引入。

减法非常好解释,即向后增长的运算的抽象。除法则是减法的重复。

减法不可避免的引入了负数,这似乎是一次对原有结构(从0开始数数)的破坏。然而我们只要把其看做是重复的反向增长,然后用 - 来标记就不难理解了。为了美观的表达除法,我们引入了分号。

这样的引入在我们看来没有任何思想上的负担,然而在历史上,直到17世纪其合法性仍未被普遍接受。

一个很简单的例子,如何证明两个负数相乘为正数?

利用我们已经知道的内容,将负数表示为从0开始的向后增长,展开两个负数相乘的式子。再利用乘法对于向前增长(以一个数为起始)的抽象意义。最终我们会得到一个正数向后增长0次的结果,即正数。

对于形式为:

这样的数,我们可以对a或者b进行增长或向后增长的操作以得到任意数值。任意两个形如上式的数字中我们都可以找到中间的数值表达。正是这样美妙的结构,使得毕达哥拉斯坚信有理数(上式)就是一切数字。

在上面,我们已经知道了关于两个数相乘的算法。那么,当已知两个数相等的并且其乘积已知的情况下,我们如何求得这个数?

我们可以通过事先的计算经验去查找这个数的值。然而,很快的,毕达哥拉斯就“找不到”这个数了。在对2进行这样的拆解的过程中,尽管这个值是可表达的,但他暂时无法通过分号的形式来表达2的拆解。

我给个提示:

大家自己证明看看,为什么x无法表达成分数形式。

我们继续延伸这个思想,将x的平方等于2,抽象成:

那么所有的x能不能构成所有的实数?换个说法就是是不是每个实数都能用上面的等式求解得到?毕竟,我们可以很轻松的用其得到一大堆无理数(有理数就不用说了,n=1即可),那么能否推广到所有无理数呢?

把所有解都表达出来显然是不现实的。那可以用什么方法呢?

根据我们先前已经掌握的关于实数的知识,我们只知道实数是不可数的。所以,如果我们能证明x(x通常被称为代数数)是可数的就说明上面的假设不对了。

在关于x的n次方程中,至多我们会有n个解,至于解是什么数字取决于系数是什么。而系数又是整数也就是可数的,其所有组合方式也同样是可数的。因此x集合是可数的。

看来我们的假设失败了。在这个基础之上,可以预见的是超越数(就是非代数数)要比代数数多得多。既然这么多,我们可不可以找出一两个来?

对于可以通过简单筛选而得到结果的集合来说,其数量越高发现的机会就越大。

但是对于需要多步验证的结果,数量越高同时意味着所要过滤的条目数越高,发现它的机会就越小。

首先想到的方法就是我们已经用过很多次的构造,我们可以尝试构造出一个超越数,那么试一试吧。

目前来说对于超越数的直接构造看上去难度太大了,因为我们还无法判断构造出来的数字是不是超越数。我们在这里选择一种迂回的方式,即我们首先假设i满足整系数代数方程,得到一个性质,与之相矛盾的就是超越数了。当然,代数数必须为这个满足这个性质所有数的集合的子集。

这听上去更扯了 嘻嘻

其实道理很简单。警局来了一只小狗宝宝,他找不到妈妈了,这时候来了一只乌龟妈妈,她找不到孩子了。两个人记性都稀巴烂,互相也拿捏不准。万般无奈,你把小狗宝宝姑且当做是乌龟的后代,然后在警察的监视下共同生活一段时间,看符不符合母子的行为。

很快令人期待的事情发生了,小狗饿了要喝奶,然而乌龟妈妈并没有奶。。。

随着警局外几声凄惨的狗吠,闯进来一只眼泪汪汪的母狗。案子终于破了。

这个i肯定是无理数,显然我们可以尽力去找一个分数去逼近它。然而要足够接近i,分母肯定要足够大。我们假设分子为p,分母为q,这个分数为z,则有:

我们现在还不知道会发生些什么,一切都充满着可能性。在没有明确目标的情况下,我们要尽可能的尝试多种路径,去看看终点在哪。但是如果能确立目标那是最好的了,能极大的减少工作量。

让重新审视一下我引入分数z的意义。为了构造出超越数我们选用了一种迂回的办法,即首先假定一个代数数i。在这种假定的情况下对等式本身进行研究只能是一种同义反复,因此为了得到矛盾,我们还需要一个“客观的”中间量。首先在假定的情况下找到i与中间量的关系,随后由中间量的性质指出超越数的特性。

通过这样的分析,我们的下一步就再清晰不过了——z就是那个中间量,去找到i与a的关系。

我们可以看到目前z与i的关系呈现如下形式:

这里,我留一个小任务,大家去证明一下这个等式:

利用上面的结果,我们可以得到:

现在,唯一要确认的是等式的右边。但是,第一反应是这右边的东西然没有什么卵用啊。先别急,停下来分析一会,该抽烟抽烟,该泡茶泡茶,如果有妹子在旁边打扰请联系我,我帮你拴着。

我们要充分利用已知条件,因为预设了z与i很接近,因此我们可以用一种比较粗略的确定数值的关系把z用i替换了。这样会清爽很多。

为了充分粗略,我们预定z-i的绝对值在1以下。也就是说把这个关系带入之后,其值会比原来的大,我们假设新的值为U:

得到它还是比较明显的,我就不具体说了。

同时,对于分数z来说,其分母q将非常大,我们取q>U,因此:

(1)

我们知道f(z)是蕴含q的,所以我们存在进一步将f(z)化简的可能性,既然有可能性我们就要去尝试。

已知:

(2)

由于f(z)不等于0,所以等式右边上半部分至少等于1,把这个推理带到(1),得到:

n>1

柳维尔不知道大家听说过没,不知道没关系,反正他蛮牛逼的,上面这东西就是柳维尔定理了。

我们现在已经得到了i与z的互相关系,那么可以放心的去构造一个自己认为可能的数出来,然后去与z建立关系,如果不满足定理则说明找到了一个超越数。

然而,现在新的问题又出现了。

在现有的数据基础之上,凭借贫乏的数学直觉,我们简直没有办法构造出一个满足期望的数来。我们唯一的方向是构造一个无理数,然而这显然是不够的。

同时,我们从定理出发去“逆构造”超越数似乎也进行不下去。

在这种一筹莫展的时刻,我要给出的建议是——“把玩”。如何理解把玩呢?把玩就是傻乎乎的把要构造的事物的基本形式写下来,如同我在构造欧拉定理和费马小定理时一样,单纯的写下来可能会有发现,毕竟我们的脑容量实在太有限了。

超越数肯定会有如下形式:

a实际上是0-9的自然数,这里为了图方便,没使用多项式表达

我们假设直到m项,我们可以构造一个分数z,超越数c-z的绝对值将是m+1项开始到第n项的和

很容易得到这个和将不超过(还记得前文的S求和吗?):

这里的S是关于m的表达式,这是因为项数中可能会有若干0,用一个函数来表达多种可能性。

问题被转换为,构造S使得两个不等式在某些条件下相矛盾这样我们就利用柳维尔定理构造出超越数了。

现在忘了柳维尔吧,重要的是我们再一次加深了对于构造的认识,更重要的是我们有了继续思考的新的基础。

算术?