连续时间信号的数学模型:算术公理系统之
连续时间信号的数学模型:算术公理系统之但奇葩之事在于,中国的运算和记数是两套并行不悖的系统,运算时遇上空位,而用中文将运算结果记录下来却完全没有空位什么事。拿前例来说,“502”记作“五百二”,“5002”记作“五千二”,非常干净利落又不容易出错。正因如此,直到公元1247年,南宋数学家秦九昭在其著作《数书九章》中才开创性地使用专门表示空位的符号“〇”,从有概念到有符号,历时1700多年。可以想见,如若不是外来文明的强势输入,单凭自己瞎搞,中国人想从空位符发展出数字0恐怕还得1700年。因为数字0与自然数相比,一个在天上,一个在地上,在地上的俯拾皆是,而在天上的,没点天赋和悟性,对“数”没有一个全面而通透的理解,肯定是够不着。而符号意义上的0,最早出现在位值记数系统中,当人们发现同一个数字放在不同位置上可以表示不同的数时,必然会遇到一件事情,就是空位,即一个数位上没有数字,是空的,起初空就让它空着,没想过用一个符号来表示这个空
算术很古老,算术公理系统却姗姗来迟。
算术,从字面理解即为运算之术,谁的运算?无疑是数的运算,数是算术的前提和基础,没有数,算术便是无源之水、无本之木。但“算术”一词却将“数”这个主角隐没不表,加之算术是术,不是学,犹不及道,而中国人通常认为术在学和道之下,以致人们误以为算术只能作为雕虫小技教教小孩子,没啥大用;学习算术也仅仅是识数、数数,以及练习十个印阿数字(即印度-阿拉伯数字的简称)之间的加、减、乘、除四则运算,没啥难的。1+1=2,简单吧,小孩子都会,有必要拿来正儿八经地讨论吗?若是单纯做几道算术题确实没必要,太简单,若是将“数”从幕后推至台前,重点对“数”进行一番考察和演绎,让主角回归主角,事情就不那么简单了。
讲数学不从算术讲起,一定会本末倒置;讲算术不从数讲起,一定会舍本逐末。数是数学的基础,数学即数之学,所以数是什么?——便是一个既根本又不可回避的问题,理当最先回答,还不能含糊——数是可以运算的符号。
一般来说,数的产生或者确立应当具备三个要素:概念、符号和运算。首先是概念,什么是数的概念?看它所回答的问题,数之初真真要回答的问题是:对象有没有,或者有多少?这里的“有”和“没有”、以及“有”中之“多少”便是最原始的数的概念。“没有”的概念很清楚,就是零,而“多少”则是混沌不明却又蕴含无限可能,需要人们付出极大努力才能将其一一分明出来。老子的名言是:道生一,一生二,二生三,三生万物。“多少”在老子这里就分明出了“一”、“二”、“三”和“多(无数可计则谓之多,万物即多)”,横看众多人类文明,能取得这般成绩已经相当不错,强过许多不会数数抑或只能数到二的部落和族群。可想而知,人类并未止步于此,而是从混沌之中分明出越来越多的数:一、二、三、四、五、六、七、八、九、十、…,可以任意大,以至无穷。
然而概念存在于人的意识当中,意识又是一个虚无缥缈的世界,看不见摸不着,必须用外在有形的东西将它们一一表示出来,赋无形以有形,让我们不仅可以看见,还能很方便地书写、运算和传播,于是人们发明了记数符号,将数用符号固定和记录下来。而符号见之有形,是物质化的概念或者概念化的物质,能在物质和意识之间流动,再以“意识A→符号→意识B”的方式作为中介,让概念在意识和意识之间流动,好的符号流动就快效率就高。像中国的算筹数字、古巴比伦的楔形数字、古埃及的象形数字、古希腊的爱奥尼亚字母数字等等,世界上先后出现过各式各样自成一体的数字符号,最终留存并通行全世界的即是现代人非常熟悉的印阿数字系统:1、2、3、4、5、6、7、8、9、0,十个符号,以及由这些符号所表示的数与数之间的加减乘除运算。从结果来看,简洁高效的印阿数字系统是最好的数字符号系统,除此而外,别无他者。
数首先是概念,其次是符号,最终是运算。概念、符号以及运算之间,关系密切,没有符号,则不能言数,亦难运算;倘若一个数有概念有符号,却无运算,还是不能成为一个数。比之于人,则概念是魂,符号为体,运算为用,魂体用三位一体这数就活了。最好的例子打着灯笼去找,得来的必定是数字0。
数字0最原始的概念很简单,就是“没有”、“无”或者“空”,此类概念在各民族的自然语言中基本上都有,但要把这样的概念抽象为符号、抽象为数,并落实到算术运算之中,则需要更高的智慧,很多民族没能生发出这样的智慧,包括很早就能数到三的华夏民族。
而符号意义上的0,最早出现在位值记数系统中,当人们发现同一个数字放在不同位置上可以表示不同的数时,必然会遇到一件事情,就是空位,即一个数位上没有数字,是空的,起初空就让它空着,没想过用一个符号来表示这个空位。比如我国,公元前5世纪开始广泛采用的算筹系统,主要用于运算,其中123456789均有与之相应的算筹数字,而且横竖各一,唯独0没有,遇0则置以空位。不难发现,空位让它空着始终存在一个问题,例如“5□2”表示“502”,那么“5002”也有可能写成“5□2”,空一格和空两格区别不大时就容易产生混淆,所以在书写和记录数字时,为了不出错,有必要使用一个特别的符号将这些空位一一标记出来。
但奇葩之事在于,中国的运算和记数是两套并行不悖的系统,运算时遇上空位,而用中文将运算结果记录下来却完全没有空位什么事。拿前例来说,“502”记作“五百二”,“5002”记作“五千二”,非常干净利落又不容易出错。正因如此,直到公元1247年,南宋数学家秦九昭在其著作《数书九章》中才开创性地使用专门表示空位的符号“〇”,从有概念到有符号,历时1700多年。可以想见,如若不是外来文明的强势输入,单凭自己瞎搞,中国人想从空位符发展出数字0恐怕还得1700年。因为数字0与自然数相比,一个在天上,一个在地上,在地上的俯拾皆是,而在天上的,没点天赋和悟性,对“数”没有一个全面而通透的理解,肯定是够不着。
类似的,其他一些使用位值进位制来记数的民族也有发明关于0的符号,准确表述应该是标记空位的符号。无可否认“空位符”确有0之义,但有符号不等于有数,数之为数在于它能参与运算,不能参与运算,或者说人们根本没意识到它可以参与运算,发明出符号0顶多是当作一个占位符,形同摆设占个位置,一则表示此位无数,二则标定他数之位,还称不上数字0。想要算它,必须为它制定相应的运算规则。从空位符到数字0只差一步之遥,迈出这关键一步,得益于古代印度人的修行与顿悟。诞生数字0的前期工作包括位值进位制、空位以及符号,诸多古老文明以各自的方式或多或少都有斩获,唯独到了公元628年,印度数学家婆罗摩笈多编著完成《婆罗摩修正体系》,书中才第一次比较完整地总结了0的运算规则,这些规则放到今天来看颇为朴素和具体:
- 一个负数和零的和是负数,一个正数和零的和则是正数,两个零的和则为零。
- 一个负数减去零为负,一个正数减去零为正;零减零是零。
- 零和负数,零和正数,以及两个零的乘积均是零。
- 一个正数除以一个正数或一个负数除以一个负数是正数;零除以零是零。
- 一个负数或一个正数除以零,则那个零为其分母,或者零除以一个负数或正数,则那个负数或正数为其分母。
至此概念之0、符号之0以及运算之0在婆罗摩笈多这里合为一体,0才真正成为一个数。从概念到符号,从符号到运算,印度人最先走完全程并伸手摘得数学皇冠上的这颗明珠,所以我们公认数字0是印度人的发明,这个不起眼的小发明改变了整个世界,堪称伟大。我们或许记不住“婆罗摩笈多”这个拗口的印度人名,记住“公元628年”,知道这是数字0诞生的时刻,清楚此前人类文明中没有数字0,也算是铭记历史。
古印度人对数字有着深刻的感知力和独特的领悟力,令世人惊羡。他们自娱自乐自弹自唱,独自唱出了“0是一个数”,而且唱得响亮,朴素的旋律向全人类释放了一条重要信息,数是什么?数是可以运算的符号,运算或运算规则是确立一个数的关键。当然,此种或有或无的信息老师不经言传,学生只好意会,意会不到,谁也没办法,对于那些横竖不开窍的学渣也只能随他去了。
印度算术是好样的,先达为师,告诉我们数是什么,有幸作为学生,了悟之后便可以有一个大胆的设想:使用一以贯之的逻辑和方法定义和推导出所有的数。具体做法则是模仿两千多年前古希腊数学家欧几里得在其《几何原本》中所创立的理论典范,通过少数几条简单明了的定义和公理,推导出所有的结论。
数学基本上是一个又一个公理化的演绎系统,《几何原本》之后,几何率先完成公理化,树立了一个光辉的榜样,紧接着算术公理化便是一个自然呈现的问题。最先掌握公理化方法的古希腊人对此可能是瞧不上,想想柏拉图当年在学园门口立的那块牌子,不懂几何者不得入内,他可没说不懂算术者不得入内。几何在当时一枝独大,几乎等同于整个数学,绝对占据鄙视链的高位,而算术作为几何之附庸处在被鄙视的末端,所以算术公理化问题难入古希腊人的法眼。到后来以复兴古希腊文明为己任的欧洲人,对此倒是梦寐以求却求之未得,之所以求之不得,一方面从古希腊、古罗马继承来的算术本身就差;另一方面学习印度算术又没学好,没能深入领会印度算术的精髓,没能准确理解数,也就不能将自己独树一帜的公理化方法正确适用于算术。诚然,要一探究竟还是得回到古希腊回到他们的思想源头去找,及此处点到为止。
那么一边是印度算术,长于计算;一边是欧氏几何,精于证明,同样古老而优秀,两者如何进行完美地对接与融合呢?身为现代人,但凡学过算术与几何,一闪念间多少会有这样的疑问,并产生求解的冲动。这份冲动不应只允许数学精英有,普通百姓也可以有。下面便是普通百姓的一次大胆尝试,这样的尝试大概率会失败,所以不必去较真,当故事来读即可。
遵循《几何原本》的思路,凡事从公理开始,便有算术公理系统,以下统称为SGL:
- 存在x,x是一个数,称为存在公理;
- x=x,任何数与自身相等,称为等身公理;
- 若x=y,则y=x,称为等号反身公理;
- 若x<y,则y>x;若x>y,则y<x,称为小于、大于号的反身公理;
- 若x=y,y=z,则x=z,称为等号传递公理;
- 若x<y,y<z,则x<z;若x>y,y>z,则x>z,称为小于、大于号的传递公理;
- x+y=y+x,两数相加,交换加数的位置,其和不变,称为加法交换公理;
- x×y=y×x,两数相乘,交换乘数的位置,其积不变,称为乘法交换公理;
- (x+y)+z=x+(y+z),称为加法结合公理;
- (x×y)×z=x×(y×z),称为乘法结合公理;
- 若x=y,u=v,则x+u=y+v,等量加等量和相等,称为加法等量公理;
- 若x=y,u=v,则x×u=y×v,等量乘等量积相等,称为乘法等量公理;
- (x+y)×u=x×u+y×u,称为乘法分配公理;
- 0+x=x,0加任何数等于所加之数,称为0加公理;
- 0×x=0,0乘任何数等于0,称为0乘公理;
- ∞+x=∞,∞加任何数等于∞,称为∞加公理;
- ∞×x=∞,∞乘任何数等于∞,称为∞乘公理;
- 0×∞=x,0乘∞可以等于任何数,称为0积公理;
- 0<1,0小于1,0在前1在后,0与1大小有别、前后有序,故称为有序公理;
- 1×x=x,1乘任何数等于所乘之数,称为1乘公理;
二十条公理,定义了四个数、三种关系以及两种运算。其中x、y、z、u、v同属于未知数算作一个,加三个已知数0、∞和1,即为四个数;三种关系,即数与数之间的关系不外乎相等或不相等,而不相等又分为小于和大于;运算只有“二则”,加法和乘法,离通常所说“四则”运算,还缺了减法和除法,为了让公理系统显得条理清晰、层次分明,这里作为公理系统的第一梯队,只规定最最基本的,减法和除法可以基于加法和乘法得到,所以归入第二梯队,后面再讲。
所谓公理,都是一些极为简单的命题,若干不可或缺又相互关联的命题汇集在一起,就是一份规则说明书,告诉我们接下来要讨论的是什么,以及如何进行有效地讨论。接下来我们要讨论的是数,数作为一个讨论的对象,对其进行言说,那么它首先得存在,不管是客观存在还是主观想象,也不管是真还是假,总之存在是必须的,如何存在暂且不论。既然存在是必须的,那就让它存在,开篇第一条“存在x,x是一个数”,一点不含糊、不拐弯抹角直直地说数是存在的,订立公理犹如创世纪一般,上帝说要有光便有光,全然无可置疑。
“存在x,x是一个数”这一句看似废话,百无一用,实则开天辟地,使得数从无到有,数的概念从模糊不清到直指可见,有了它,我们可以指着一个东西说这是一个数,符号x就是一个数,对x的言说就是对数的言说。此时的x,还不是一个具体的数,而是一个抽象的数,它可以指称任意一个具体的数,究竟指哪一个或者哪一些不得而知,所以叫它未知数,也叫变数;与之相对的则是具体的数,也叫已知数,已知数确指自身,不变如常,所以也叫常数。但凡小学学过方程,对这套说辞就不陌生。
说到实际用处,存在公理还是有的。比如用方程解鸡兔同笼问题,设鸡有x只,兔有y只,我们为什么能这么做? x、y原本只是字母,设鸡有x只,就是在设x是一个数,并指代鸡的数量;设兔有y只,就是在设y是一个数,并指代兔的数量。于是x、y也被称为代数,“代数”一词的本义就是以字母代替具体的数字,正是依据存在公理,将字母x、y规定为可以运算的符号,它们就不再是单纯的字母,而是数,可以对其进行运算。存在公理就是用来生成代数的,代数不是别的,它就是一个数,这个数的别名包括变数、未知数,以及抽象的数。
顺着代数的思路往下走,研究代数与代数之间的运算以及运算规则,便有了代数学。然而以往的代数只讲未知数不讲已知数,以往的算术呢,只讲已知数不讲未知数,现在将未知数引入算术,是将算术代数化,熔代数与算术于一炉,铸为一篇关于数的说明书。这份说明书大体可分为前后两篇,前篇罗列代数公理,定义抽象之数及其运算;后篇枚举算术公理,定义具体之数及其运算。既然都是关于数的运算,算术加代数则统称为“算数”,所以这套公理的准确叫法应该是“算数公理系统”,而不是“算术公理系统”,一字之差有天壤之别。但“算术公理系统”已经形成固定用法,所以后面会混合使用这两个词,有时候它们指称的是同一个意思,有时候略有不同。
“算数公理系统”讲数,不是从1、2、3讲起,而是从x、y、z讲起,明显违背众人的经验和直觉。人们对数的认知总是先具体后抽象、先已知后未知,而建构数之理论则相反,它遵循先抽象后具体、先未知后已知的逻辑。我们从小学习各种知识,学多了之后大概会知道理论违背经验是常有的事。
根据存在公理,只要声明“存在x,x是一个数”,便得到一个数,一个我们知道但还不确切知道的数,它蕴含了所有可能的数,然后以公理的方式规定其具备一条属性,即等身性。x=x,任何数都与自身相等,这个还需要证明吗?恐怕不需要,它不证自明。一个命题,简单到不能用其他命题来证明,只能自己证明自己,不仅自证为真,而且还能为其他命题的证明提供依据,这样的命题即为公理。等身公理,x=x,规定所有数在任何时候总是与自身相等,或者说任何数总是保持与自身同一,数学上的等身性即逻辑学上的同一性。这条很重要,数作为一个概念,只要存在只要被说出来,就必须遵从同一律,甭管多牛,数学也得接受来自逻辑的规范。
从逻辑上讲存在性是第一性,所以有第一条存在公理,同一性是第二性,所以有第二条等身公理,这两条都在强调数的逻辑属性,还不涉及数的运算,于是显得无足轻重可有可无。但它们确实是算术和代数的逻辑起点,没有它们数不会有、关于数的运算也不会有,所谓的设未知数、列方程,所谓的函数、导数,统统成了空中楼阁、夜半幽灵。
等身公理,x=x,除了强调数的同一性之外,更重要的是定义符号“=”。在有了第一个数之后,出现第一个连接数的符号,“=”,这个符号的意义是什么该怎样使用?等身公理率先垂范,它可以被用在同一个数上,表示数跟自身相等,那么当它连接两个不同的数时,比如x=y,就可以对照着x=x来理解。
所谓相等,就是一个数跟自身比较没有差别,一个东西自己跟自己比较怎么会有差别呢,有差别就不是一个东西了嘛,感觉这天然就是对的,但我们没法证明。《几何原本》中也有一条类似的公理,能彼此重合的物体全等,它也是不加证明直接使用的。由此我们再进一步,对于两个不同的数,如果说x跟y比较没有差别,记作x=y,那么与y=x,y跟x比较没有差别是一回事吗?紧随其后的等号反身公理规定它们是一回事,即若x=y,则y=x,说明等号两边数的位置任意调换一下结果还是一样。
等号一个符号仅表示了两个数比较没有差别,那么有差别的情形如何表示呢?当然,这里所讨论的差别只在一个维度上进行,即数量上,数与数在数量上的差别无外乎相等和不相等,不相等又包括两种情况,小于和大于,于是很自然地引入另外两个连接符,小于符号“<”和大于符号“>”。与等号“=”相对,它们的反身性是这样,若x<y,则y>x,这个应该好理解,如果说你比我长得矮,等于说我比你长得高嘛。等号“=”调换两边的数字结果不变,叫作反身不变性,而小于“<”和大于“>”符号反身则是改变的,变换规则就是随着位置的调换而改变符号的方向,小于“<”和大于“>”表示两个相反的方向,改变是指大于则变成小于,小于则变成大于。
概括来说,数与数之间只存在三种关系,要么相等、要么大于、要么小于,没有第四种关系,这种特性有个专属的名词,叫作三歧性,从自然数到实数应该都满足三歧性,出现不满足的,那就不属于我们这里所讨论的数。
两个数之后是三个数,当有三个未知数x、y、z时,等号、小于和大于都表现出了传递性,如果x=y,同时y=z,则必有x=z,这一条在《几何原本》的公理系统中被放在第一的位置,等于同量的量彼此相等,其真不言自明。相等性可以在数之间传递,不相等性也一样可以传递,x<y,y<z,则x<z,反之则是x>y,y>z,则x>z。这些结论跟我们的经验和常识完全吻合,理解起来比较容易,故不多言。
讨论完数的关系,然后是数的运算,最基本的运算是加法和乘法,为什么不只有加法呢?我们知道几乎所有的乘法运算都可以等价地转换成加法运算,那么有必要在公理这样一个最基本的层面上为乘法留一席之地吗?有必要,一方面我们没法单纯地基于加法定义出乘法,另一方面乘法有着加法不可替代的作用,后面我们慢慢会讲到。通常所谓的加法交换律和乘法交换律实际上说的是加号“+”的反身性和乘号“×”的反身性,这种反身性是不变的,x+y,x×y,变换一下x、y的前后顺序计算结果还是一样,如果你说不一样,那将是另一套公理系统,不是我们这里要讨论的。
结合公理说的是对于并排的多个加号或者乘号,先算哪个和后算哪个,最终的结果不变。
等量加等量和相等,《几何原本》中有这条,就是这么用文字表述的,换作代数语言,若x=y,u=v,则x+u=y+v,其实它们表达的是一个意思,说明代数与几何、算术与几何之间有许多相通的地方。照着加法的样子,我们也规定了乘法的性质,若x=y,u=v,则x×u=y×v。
乘法分配公理,(x+y)×u=x×u+y×u,这条蕴含了加法与乘法之间的转化,许多速算技巧根源于此,具体操作需要用到具体的数,这个时候具体的数一个还没出现,所以不便展开。
公理系统展开的总体思路是从抽象到具体、从代数到算术,前面十三条代数公理规定的都是关于抽象之数的运算规则,这些规则也是任何具体之数所要遵循的,但这样的规则再多没有具体的数参与进来,只能得个空架子,好比棋盘画好了,棋规定好了,没有棋子,这棋怎么下啊。
具体的数也像变魔术一样,吹口气说来就来。第一个具体的数是0,0是什么?0就是满足0加公理和0乘公理的这样一个数,它加任何一个数,等于没加,所加之数原来是多少还是多少,这正好刻画了0的原始含义,0就是“没有”,加它没用;0乘任何一个数,统统归0,这是0在乘法上的性质。满足这两条的就是0,不满足这两条的就不是0,0与其他数由此区分开来。知道了这两条,我们就能在运算当中分辨和使用0,因此0对我们来说就是已知的。而所谓的0加公理和0乘公理不过是两条算术运算规则,遵循运算规则使得符号0可以参与运算,可以参与运算,符号0便成为数字0。数是可以运算的符号,符号可以运算即为数,说的就是这个道理。
料想有人不服气,认为在算数之外,还有其他方式可以定义0,比如集合论的方式,将0定义为空集。空集是什么?空集是不含任何元素的集合,即“空集是没有元素的集合”,说得再明白一点“空集是元素个数为0的集合”,定义“0是空集”,等于说“0是元素个数为0的集合”,用专业符号表示即为“0:=Ø”,定义项已然包含被定义项,同语反复,毫无疑问的逻辑错误,这个错误不因为使用了高冷艰深的符号就变得正确。
难道一向以逻辑严谨著称的数学家会犯这等低级错误吗?应该不会,是我们的理解有误,应该理解为集合论系统中的空集与算数系统中的0等价,0等价于空集。等价是说两个系统彼此独立、各自运行,碰巧集合论系统中的空集与算数系统中的0之间具有某种妙不可言的对应关系,通过观察0在算数系统中的运行方式我们可以很好地揣测空集在集合论系统中的运行方式,反之亦然。
由于0是算数系统中的原始概念,它只能在算数系统中被定义,如同空集只能在集合论系统中被定义一样,倘若非要定义“0是空集”,则意味着算数系统只是集合论系统中的一个子系统,0可以化归为集合,那么算数系统中的所有数也都可以化归为集合。于是算数系统自身的独立性不复存在,集合论系统便可以堂而皇之地取而代之,数学家们真真这么干了,并从中发现集合论是一切数学的基础,为此欣喜若狂。但有一个问题被选择性地忽略了,既然0与空集是等价的,可以说“0是空集”,那么反过来是不是也可以说“空集是0”呢?集合论系统是不是也可以归结为算数系统的一个子系统呢?归归看,没准会有惊喜的发现。
0不能定义为空集,空集也不能定义为0,那空集该怎么定义呢?其实我们可以仿照0在算数公理中的定义,这样来定义空集:存在一个集合Ø,它与任何一个集合A的并集为A(Ø∪A=A),与任何一个集合A的交集为该集合自身(Ø∩A=Ø),则称集合Ø为空集。从集合与集合之间的运算关系来定义空集,就比简单地说一句存在一个集合,它没有元素,要严谨得多,至少不用跟0扯上关系,说“没有”根子上说的还是0。
关于0,还有一个令人莫名惊诧的疑问,0究竟是不是自然数?这里的“自然数”当指自然而然产生的数。可以从两个不同的维度来回答,一个是历史事实,一个是理论依据。历史事实是明摆着的,没啥可说的,0的产生很晚,也不像1、2、3那样自然而然,说“0是自然数”,于史无据。而“0不是自然数”,原本是不言而喻、板上钉钉的,但近现代以来,数学家们通过努力居然为“0是自然数”找到了理论依据,既有观念被动摇,连小学课本都改了,小朋友数数都从0开始数,而不是从1开始数,0成了最小的自然数。然而这个没有历史事实作为支撑的理论依据真的靠得住吗?真还是不真,都应动脑子先思考过,那些不动脑子或者只动他人脑子的人不在此番讨论之列。
规定了0的加法和乘法,得到了数字0,是不是应该立马再加一条“0不能做除数”呢?这可能是很多人忧心忡忡念念不忘的,尤其是对那些从小数学成绩优秀的人来说。但是请注意,这个时候还没有定义除法,除数、被除数,以及除号这些东西都还没有,0能不能做除数全然无从谈起,强加肯定不行。对于所有数学概念我们严格遵循“不定义不使用,先定义后使用”的原则,等定义了除法,我们再来讨论0到底能不能做除数。
第二个具体的数是∞,数字∞(关于它的读音,三个字,读作无穷大;两个字,读作无穷;一个字,读作道,所谓道无穷)的疑问最多,首先它是不是一个数就成问题。∞也是一个数?数字∞的概念是“无穷”、“无限”或者“没完没了”;符号“∞”,像似放倒的数字8;运算规则有三条——∞加任何数等于∞、∞乘任何数等于∞、0乘∞可以等于任何数——有概念有符号有运算,数之为数的三要素齐备,怎么就不能是一个数呢?数学是最讲道理的地方,不能信口开合光图嘴快,说“∞不是一个数”,还请务必攒好一个经得起推敲的理由。
说“0是一个数”,大家现在觉得自然而然、理所当然。但要知道,数字0在印度人发明以前,古代的中国、玛雅和巴比伦这些曾经引入空位或发明零号的民族,都不曾意识到0是可以单独存在的一个数,如若不是印度人给出关于0的运算规则,并且我们学习和掌握了这些运算规则,那么我们肯定也不会认为“0是一个数”。
数字0作为一个外来物种,欧洲人从阿拉伯人那里发现并试图引进之初就遭到抵制,据说当时有罗马教皇宣布:“罗马数字是上帝创造的,不允许0存在,这个邪物加进来会玷污神圣的数。”这段话清楚表明罗马数字中没有0,奉行罗马数字的欧洲人不认为“0是一个数”。由于0与∞之间存在极为精妙的关系(0积公理,0×∞=x),连数字0都没有,更不会有数字∞,不认为“0是一个数”,更不会认为“∞是一个数”,这背后深层的原因是没有搞清楚数的本质是什么,突然蹿出一个陌生的符号,自然就吃不准到底是不是数。
对待无穷,人们似乎都隐约感觉到它可能是一个数,比方说下面的结论不会有人反对:
∞+1=∞,无穷加1,还是无穷;
∞×2=∞,2倍的无穷,还是无穷;
无穷∞已然是在参与运算,这是数之为数的基本特征,而且人们也估摸出一点无穷在加法和乘法上的运算规则,但是,一旦将无穷扩展到减法和除法上,人们就蒙圈了,还是刚才的式子:
∞+1-∞=∞-∞,两边都减去∞,得到1=0;
(∞×2)/∞=∞/∞,两边都除以∞,得到2=1;
1=0、2=1,这怎么可能呢?绝对不可能。正是这些矛盾的结论,让人们不敢坚定自己的感觉,阻断了人们朝无穷是数的方向上去思考。0是一个数,但0不能做除数,这个人们可以接受;而对于“∞是一个数,但∞不能做减数和除数”,则无人考虑。
再有就是传统观念的束缚,早在两千多年前的古希腊,亚里士多德就将无穷划分为潜无穷和实无穷,潜无穷是指一个无穷无尽、没完没了的过程,这个过程亚里士多德认为是可能的,可以接受;而实无穷是指这个“无穷无尽、没完没了的过程”的完成,是一个既有的结果,他认为这不可能,一个无穷的过程,本身就是一个永远在进行当中尚未完成的过程,你怎么能说它完成呢?逻辑上说不通,现实中也不可能,亚里士多德对此表示不能接受。要知道在西方历史上,亚里士多德被奉为一代圣哲,后世学者唯亚首是瞻,一直延续一条潜无穷的研究路径,拒斥实无穷。时至今日,无穷∞在数学分析当中也只是用来表示某种越来越大的趋势、过程或者状态,而不认为它是一个数。
当然人们的观念也不是一成不变,翻阅数学史你会发现,19世纪末有一个人勇敢地站出来反对亚里士多德,他就是集合论的创始人格奥尔格·康托尔,他要为无穷重新正名,宣称实无穷是可能的,无穷也可以是数。为此自创一套集合理论,借助集合来研究无穷,并得出一系列惊世骇俗的结论。其中比较核心的一条是,他认为无穷不仅是数,还不是一个数,而是一列数,一列依次递增永无休止的超级数。种种不羁的思想和言论,招致他的老师克罗内克激烈而不懈的反对,甚至不惜越过学术讨论的正当边界对康托尔实施打击,导致康托尔39岁就精神崩溃,疯了,住进精神病院,并最终死在精神病院里。鲜活的例子表明:反抗传统,后果很严重;研究无穷,注定很疯狂。不过比起毕达哥拉斯的门徒希帕索斯,康托尔的遭遇算蛮好了,只是被逼疯,没有被扔海里喂鱼,这得庆幸克罗内克的威权和脾气还远不及毕达哥拉斯。
其实,潜无穷与实无穷不是两个无穷,而是一个无穷,是我们看待同一个无穷的不同方式。面对无穷,如果将观察者置于过程之中,那么观察者就会跟随这个无穷的过程处在不断地行进之中,他观察到的无穷自然是潜无穷;如果置于过程之外,这个无穷的过程对观察者来说就是一个外在的完成了的整体,自然可以得出实无穷的结论。比如我们写一列自然数:
1,2,3,4,5,…
做个思想实验,想象自身置于该数列之中,接着数字5往下写,会发现自然数永远也写不完,你可以一直写下去;若是置于数列之外,在5后面打上省略号,表示整个自然数集,我们会说自然数集是无穷集,自然数有无穷多个。如果只有潜无穷,我们没有把所有自然数一个个全部写出来,就没有十足的底气说自然数有无穷多个,但要说自然数只有有限个,好像也不符合事实,那自然数到底有多少个?不知道,接着写呗。而写出全体自然数这件事本身又被认为不可能,所以你看,不写也不行,写又写不完,一个简单的问题“自然数有多少个”我们都不能直白清晰地回答。退一步来说,就算我们写出了全体自然数,是不是也应该有一个实实在在的数来描述它呢?就如同当年,希帕索斯画出等腰直角三角形的时候,直角边长度为1,是不是应该有个数来表示斜边长呢?
不仅如此,遵循潜无穷的逻辑去推演,芝诺悖论就是对的,或者说芝诺认为运动是不可能的,就是真的。例如芝诺的二分法悖论,从A点到B点,在到达B点之前必须先经过A、B之间的中点C点,在到达C点之前必须先经过A、C之间的中点D点,在到达D点之前必须先经过A、D之间的中点E点,…,这是一个没完没了的过程,典型的潜无穷过程,于是我们迈出哪怕很小的一步,都要经历无穷个中点,而潜无穷永远没法完成,那结果只能是我们一步也迈不出去,只能站在原地不动了,于是运动是不可能的。
荒唐吧,亚里士多德也认为荒唐,他在自己的书里记述芝诺的观点时也持批判态度。明知荒唐却无以反驳,即便反驳,从亚里士多德的概念和逻辑出发必然会导向肯定芝诺悖论,而不是否定。问题出在哪呢?问题出在当时的人们还没有数无穷的概念,数无穷的概念太过抽象,只能诉诸理性和逻辑才能把握,在理性和逻辑之外,我们经验的能力极其有限,断然经验不到无穷,仅仅基于经验和直觉去理解无穷,能理解到亚里士多德的水平也就到头了。所谓不识庐山真面目,只缘身在此山中,我们只有跳出无穷才看清无穷,也只有挣脱经验的牢笼才能理解无穷。
我们用“无穷”去描述一个对象,说“这是一个无穷的过程”,实际上是在回答“这个过程要经历多少个步骤?”——“无穷个”;我们说“自然数有无穷多个”,实际上是在回答“自然数有多少个?”——“无穷个”。诸如此类的问题可以归结为一个问题,即“对象有多少?”,这恰恰是数要回答的问题,“多少”本身就意味着数,所以只要你使用“无穷”来回答这样的问题,则已然肯定“无穷”是一个数,不管你有意无意、高兴不高兴,逻辑如此。
既然是数,就不得不考虑数的抽象性和独立性,数极抽象,既抽象于任何具体的对象,也抽象于任何观察者的角度;数极独立,既不依赖于任何具体的问题,也不依赖于任何醉心研究和频繁使用它的智慧生物,它只在数与数的运算当中确立自身独特的存在性,数的世界是一个自足自洽、自在自为的世界。对于人类而言,千百年来,数本身就是对象,古老的算术不就是一门研究数是什么以及如何跟数打交道的学问嘛。
那么∞作为一个数,当然也具有这样的抽象性和独立性,它独立于过程也独立于过程的结果。我们将∞用于过程,则表示这个过程是一个无穷无尽、没完没了的过程;用于结果,则表示这个结果是一个极大的量,用不着去区分潜在的∞,还是实在的∞,数∞不会因为用于一个过程还是用于一个结果而有所不同。想想0和1,我们有区分潜在的0和实在的0吗?有潜在的1和实在的1吗?没有,我们心里其实很清楚,数不仅抽象而且唯一,那人们为何还要坚持区分潜实,并执着于潜无穷而拒斥实无穷呢?
一种可能的解释是,无穷的概念极其特殊,特殊到人们在试图理解它时会出现障碍,犹如当年学习方程,方程无解,则以无解解之;遇到无穷则是,不可完成,则以不可完成完成之。听起来有点绕,很多人就绕不过去,学习方程是这样,估计理解无穷也是这样。理解不了这一点,亚氏以及亚氏的追随者们心里肯定犯嘀咕:不可完成的过程就是不可完成,瞎搞什么呢?
亚里士多德是何许人也?百科全书式的大哲学家,不世出的聪明人,咱普通人望尘不及一二,所以在无穷这个问题上,跟不上哲学家的思想节奏很正常,不跟就是了。我们保持简单思维,一根筋通到底,管它过程还是结果、管它内置还是外观、管它有穷还是无穷,它是什么就标记什么,它不可完成就标记为不可完成。无穷∞不是别的,就是用来标记不可完成的符号,标记好就完了,至于它如何完成则是另外一个问题,我们不去操心。现实如何如何,原本就不是数学需要操心的问题,试想平面几何中三角形内角和180度,你真到现实中去测量一下三角形内角和,不论结果是否为180度,都不影响几何结论的正确性,数学结论的正确性取决于逻辑而不取决于现实。
戳破窗户纸看见外面的天光,我们就知道真正需要操心的,不是区分潜无穷和实无穷,而是将剥离了潜实之后的那个无穷抽象为数,抽象为符号∞,并落实到算数运算之中。怎么落实呢?前有车,后有辙,前面数字0已经趟出一条大路,跟着走就行。0有0的运算规则,∞有∞的运算规则,0的规则体现的是0的特性,无穷的规则自然要体现无穷的特性。无穷的第一特性即为至大性,所谓无穷大,一个数大到无穷就不会再有比它更大的了,无穷是所有数当中最大的一个。古往今来无穷给人的印象一直是很大、特别大、比天还大,但到底有多大谁也说不清楚,任何你能举出的现实例子都不足以说明它的大,无穷大已然超出所有人的经验和想象,非日常语言所能描述,在它面前,我们除了感慨“无穷大到底有多大!”之外,近乎无事可做。
但是别忘了,从小学习算术、解算数题,九年功夫不是白费的,除了让我们买菜会算价钱,还有大用,大到足以轻松搞定无穷,两条算数公理就能把无穷描述清楚:∞加公理,∞+x=∞,∞加任何数等于∞,意味着无穷这个数加任何数得出来的还是无穷,不会得出比无穷更大的数,从而保证无穷为至大;∞乘公理,∞×x=∞,∞乘任何数等于∞,意味着无论对无穷进行怎样的分与合,均不能得出比无穷更大的数,还是在强调无穷的至大性。
当然你尽可以想出各种办法,比如构造一个新数,然后证明这个新数比∞还大,那么∞不再是无穷,你构造这个新数是无穷;抑或构造一列比∞还大的数,并证明此列数中没有最大数,这表面上看高端大气上档次,数学感十足,但内里似乎又回到了无穷不存在或者无穷不可知的迷雾当中。无穷为至大,这是无穷概念自身对自身的规定,任何形式的否定都可以理解为对无穷的遮蔽。
一般说来,有了加法和乘法规则已经能很好地刻画一个数了,但对于无穷还不行,还需要一条0积公理,0×∞=x,像这样匪夷所思的等式应该如何来理解呢?为此需要引入一对重要概念——收敛与发散。一个由数字与运算符所构成的数学对象即为运算表达式,包括单项的数字1、x,多项的1+1、1+x等,都是这里所说的运算表达式,可以简称为运算式、算式或者式子。就一个运算式而言,运算之后有没有结果以及有多少个结果,这是必须要弄清楚的。那么不管运算式是有穷项还是无穷项,若运算结果有且仅有一个,则称该算式收敛;若有多个,则为发散;若没有结果,则无解。收敛与发散这对概念,一般要到学习数列和极限时老师才讲,现初涉算术就讲,而且是以这种方式来定义和使用它们,必定惊世骇俗。
0×∞=x,0乘∞可以等于任何数,说明式子“0×∞”发散。先不考虑这条公理的实际意义,单从整个算数公理系统内部的相容性上来说,它就不可或缺。
首先有0乘公理,0×x=0,令x=∞,则0×∞=0;
再有∞乘公理,∞×x=∞,令x=0,则∞×0=∞。
其中式子“0×∞”与“∞×0”根据反身公理是等同的,说明同一个式子出现在不同的公理当中,得出了不同的结果,为之奈何?若是走寻常路,则给0乘公理和∞乘公理追加种种限制,以规避不同结果的出现;若是不走寻常路,则增加一条全新的公理来包容不同的结果。无疑,0积公理是为包容而来。因为0×∞=x,x可以是任何数,所以不论0×∞=0,还是0×∞=∞都正确,0与∞等同地包含在未知数x之中,两者不矛盾。也唯有如此,加入0积公理,整个算数公理系统才能自洽,原本是无奈之举,却意外地打开了一扇通往数学世界的大门。
别急,先别急着跳将出来反对,引入0积公理带来的怎么是自洽,明明是矛盾嘛,如果0×∞可以等于任何数,那么0×∞=0,0×∞=1,0×∞=∞都对,是否意味着0=1、1=∞呢?难不成所有数都相等,那世界不乱套了吗?这与前面说到的,将∞扩展到减法和除法上得出矛盾的结果,本质上是同一个问题,是一个必须解决,也终将解决的问题,所以别急慢慢来,我们按照既定节奏一步步往前推演,此处的疑问先存着,时候到了自然而解。
第三个具体的数是1,在此规定1比0大或者0比1小,这个还用说嘛;1乘任何数等于所乘之数,当然啊。如果说整个算数公理系统是一粒数的种子,那么三个具体的数0、∞和1则是一切数的胚芽,称为原始数,具有原始性。“原”即原生性,只因公理而生,不由其他数而得,这就要求凡是原始数都得制定相应的运算规则;“始”即先在性,先于其他数而存在,并为其他数之始,合起来就是原始性的两个方面。然而不论原生性还是先在性,均在建构数之理论时才会遇到,理论上先在的数与数字发展史的实际情况往往不相符。比如各个族群最先知道和掌握的都是1和2,而不是0和∞。尤其是∞,如果你跟一个兢兢业业、对无穷孜孜以求的数学家说无穷∞是一个已知数,并且两三条算术公理就能搞定,他一定背过气去,因为既然已知,还有什么好求的呢?这样看来,数字1倒是理论建构与历史事实契合得最好的一个数,也是最没有疑问的一个数。
综观二十条公理,几乎每条都是浅显易懂的大白话,适合每个人从小学开始学习,除了关于∞的三条公理,其他各条实际上都是小学数学教授的基本内容,要求学生熟练掌握的。0和1自不必说,像交换律、结合律、分配律,只是将它们从定律升级到了公理,名称改变了,内容实质并没有改变。若是将关于∞的三条公理一并教授的话,应该也没问题,只是在解释的时候可能需要花点心思。比如对于0积公理,0×∞=x,可以这样解释:0和∞是两个数,一公一母,∞是公,0是母,它们两个相乘,会生出小孩,这个小孩肯定也是数,只是这个小孩长相如何、高矮胖瘦如何,我们不知道,这些要因时因地因条件才能确定,时间不同地点不同条件不同得到的数也就不同,可以是任何你能够想到的数。
一套完整的公理系统,大致包含三个部分:已知、未知,以及由已知推导未知的方法。算数公理系统讨论的核心是数,数初步细分为未知数x、y、z,和已知数0、∞、1。数有了,然后是算,算是由已知数推导未知数的方法,最基本的运算我们以代数公理的方式定义了加法和乘法。当然数与运算不是截然可以分割的,数必须通过运算来定义,运算也必须通过数来理解。好,数有了,运算也有了,棋盘画好了,棋规立好了,棋子摆好了,万事俱备,只待弈者。虽然一开始我们只有三颗棋子两种走法,但相信棋子会越下越多,未知的领域会越走越开阔,变未知为已知的方法和收获也会越积越多,而困扰我们的各种疑惑则会越辩越明了。
转载于:知乎https://zhuanlan.zhihu.com/p/37617787