16第2章从头开始:自然数 有很多方法禁止以上性状的发生,但最简单的方法是假定下述公理: 公理2.4不同的自然数必有不同的后继者;也就是说,若几,m是自然数且 n≠m,则n++≠m++.等价地说,若n++=m++,则必有n=m. 于是,作为例子,我们有 命题2.1.86不等于2. 证明反证之,设6=2.那么5++=1+十.于是根据公理2.4,我们有5=1, 从而4+十=0+十.再根据公理2.4,我们得到4=0,这与我们前一个命题相矛盾. Q 就像从这个命题可以见到的,我们现在好像可以保持全体自然数彼此两两不 同.但是,仍然还存在一个问题:就在这些公理(特别是公理2.1和公理2.2)使我 们能肯定0,1,2,3,·是N的互不相同的元素时,依然存在这样的问题,可能还有 另外的不是上述形式的“流氓”元素存在于我们的数系中: 例2.1.9(非正式的)设我们的数系由下述整数的全体和半整数的全体组成: N={0,0.5,1,1.5,2,2.5,3,3.5,…}. (此例标明是“非正式的”由于我们用到了实数,但我们现在还不能用这些数)可 以验证公理2.12.4对于这个集合依然成立, 我们所需要的是这样一个公理,它使N中只含那种可从0以及增长运算得到 的数一以便排除像0.5那样的元素.然而,不使用我们正要定义的自然数就能把 我们说的“可从·得到”量化地弄得更明确是很难的.幸运的是,有一个朴素 的解决办法来处理此事: 公理2.5(数学归纳原理)设P()是关于自然数的一个性质.假设P(O)是 真的,并假设只要P(n)是真的,则P(n++)也是真的.那么对于每个自然数n, P(n)都是真的, 注2.1.10此处关于“性质”指的是什么我们有点不明确,但有这样的一些 P(n)的例子:“n是偶数”,“n等于3”,“n是方程(n+1)2=n2+2n+1的解”,诸 如此类.当然,我们尚不曾定义其中的许多概念,但当我们给出了定义,公理2.5就 适用于这些性质.【一个逻辑学的注释:由于这个公理不仅说及变量,同时也说及性 质,它与其他四个公理具有不同的本质.的确,公理2.5技术上与其叫作公理,不如 叫作公理框架(axiom schema)一它是一个产生(无限)多个公理的模板,比说它 是单个独立的公理更确切.要进一步讨论这种属性就远超出了本书的范围,然而在 逻辑学的范畴中要解决这个问题] ①这是一个用其逆香命题来重述一个丝含关系的实例,详见A.2段
§2.1Pean0公理17 隐藏在这个公理后面的不正式的直观是这样的.设P()具有这样的性质:P(O) 为真并且只要P(n)为真,则P(n++)亦真.那么由于P(O)真,P(0++)=P(1) 也真.由于P(1)真,那么P(1++)=P(2)也真.无休止地重复这个步骤,我们看 到P(O),P(1),P(2),P(3),等等都是真的一但是这条推理的路线决不会让我们断 定譬如P(0.5)是真的.于是公理2.5必定对于包含像0.5那样的“不必要”的元素 的数系不成立.(的确,可以对这个事实给予一个“证明”.把公理2.5应用于性质 P(n)为“n不是半整数(即一个整数加0.5)”.那么P(0)是真的,而且若P(m)是 真的,则P(n++)是真的,于是公理2.5断定对于一切自然数n,P(n)是真的.也 就是说没有一个自然数是半整数.特别地,05不能是自然数.这个“证明”并不完 全名副其实,因为我们尚未定义像“整数”、“半整数”以及“0.5”这些概念,然而它 应该给了你某种关于归纳法原理是如何能防止任何不是“真”的自然数的数出现在 N中的思想) 归纳法原理提供了一个证明一个性质P()对于每个自然数都真确的方法.于 是在本书中往后我们将看到很多具有下述形式的证明: 命题2.1.11某种性质P(n)对于每个自然数都成立 证明用归纳法.首先验证基础情形n=0,即证明P(O).(此处插入对于 P(O)的证明)现归纳地假定n是一个自然数而P(饥)也被证实.我们现在来证明 P(n十+).(此处插入对于P(n++)的证明,假定P(n)真确)这就完成了归纳法, 从而P()对于一切数n成立. ■ 当然,我们不必在叙述的词语上或在次序上原封不动地使用上述证明框架,而 是一般说来使用与上述形式相像的方式来作归纳证明.我们后面还要述及归纳法 的一些花样,如:向后归纳(习题2.2.6)、强归纳(命题2.2.14)以及超限归纳(引理 8.5.15). 公理2.1~2.5就是关于自然数的所谓的Peano公理.这些公理是非常可信的. 因此我们作出 假设2.6(非正式的)存在一个数系N,称其元素为自然数,公理2.1~2.5对 于此数系成立 在下一章对于集合与实数规定了我们的记号之后,我们将使假设稍许更精确一 些 注2.1.12我们将把此数系N叫作自然数系.人们当然可能认为存在不只一 个自然数系,例如,我们可以有印度-阿拉伯数系{0,1,2,3,…,以及罗马数系{0, I,II,III,IV,·},而若我们真的愿意自找麻烦,我们可以把这些数系看成是不 同的东西.但是这些数系明显地是等价的(技术术语是同构(isomorphic),因为我 们可以建立一个一一对应:0一O,1+I,2+Ⅱ,等等,此对应把印度-阿拉伯 系统的零与罗马系统的零对应起来,并且保持增长运算(例如,若2对应于Ⅱ,则
18第2章从头开始:自然数 2++对应于II++).对于这种等价关系的更精确的叙述,参见习题3.5.13.由于自 然数系的一切变种都是等价的,说存在不同的自然数系就是毫无意义的事,因此我 们仅使用单独一个自然数系来做数学 我们不证假设2.6(即使我们最终将把它包罗到我们的集合论公理之中,见公理 3.7),这将是我们关于数系所作的唯一的假设.现代分析的一个非凡的成就是,只从 这五个非常原始的公理和集合论中的某些附加的公理出发,就能建立起所有的其他 的数系,创造函数,并做我们通常所做的全部代数和微积分 注2.1.13(非正式的)自然数系的一个有趣的属性是,每个单个的自然数都 是有限的,而自然数的集合是无限的;也就是说,N是无限的然而却是由各个有限 的元素组成的(整体大于其任何部分).不存在无限的自然数:只要接受了有限和无 限的概念,就可以使用公理2.5来证明此事.(很显然,0是有限的,而若n是有限 的,则显然n++也是有限的.于是根据公理2.5,一切自然数都是有限的)这样看 来,自然数可以趋于无限,但永远不能实际达到无限;无限不是自然数.(存在其他 的数系容纳“无限的”数,例如基数、序数以及p进数,但它们不遵从归纳法,且完 全在本书的范围之外) 注2.1.14注意,我们的自然数的定义是公理化的,而不是构造性的.我们不 曾告诉你自然数是什么(所以我们不提这样的问题:数是由什么制成的,它们是物 理对象吗,它们度量什么,等等)一一我们仅列出一些你可以用这些数做的一些事 情(其实,此刻我们对它们所定义的唯一的运算就是增长),以及它们所具有的某些 性质.数学就是这样干活的一它抽象地处理它的对象,只关注这些对象具有哪 些性质而不管这些对象是什么东西或者有什么意思.如果要做数学,那么一个自然 数是指算盘珠子的一定的排法,还是指一台计算机的存储器中的比特(二进制数中 的0或1)的一定的的组织方式,或者指某种没有物质属性的更为抽象的概念,都 没有关系;当你能使它们增长时,看看它们中的两个是否相等,然后再做其他的算 术运算,如加法与乘法,它们是为了数学的目的作为数的(只要它们服从必要的公 理).从其他的数学对象出发来构作自然数是可能的(例如从集合出发),但是构作 自然数的实用模型的方式是多种多样的,不过这没关系,至少从数学家的观点来看, 争论哪个模型是“真实的”是没什么意义的一只要它们服从所有的公理并正确 地运作,对于数学就足够好了 注2.1.15历史上,实现数的公理化处理只是最近的事,比100年早不了太 多.在此之前,数总被理解为不可避免地与某种外在的概念相联系,例如联系于计 数一个集合的基数,测量一条线段的长度或一个物体的质量,等等.这种理解自有 其充分的理由,直到人们被迫从一个数系移至另一个数系时为止.例如,用数(sǔ) 算盘珠子的方式理解数字时,形成数3和数5的概念是很容易的,但对于形成数 -3或是或V2或3+4i的概念可就不起作用了,于是数的理论每前进一步一
62.2加 法19 负数,非比例数①,复数,甚至数零一都引起大量理论的烦恼.19世纪末的一项 伟大发现就是,数可以经由公理而抽象地理解,不必要具体的模型.当然,数学家可 以使用任何这种模型,只要方便他作直观的理解,但他们也可以容易地抛开这些模 型,只要他们开始走上公理化的道路: 公理化的一个结果是,我们现在可以递归地定义序列.假定我们要建立一个数 的序列ao,a1,a2,·,首先定义a0为某个基础的数,例如a0=c,c是某数,然后, 让a1是ao的某个函数,a1=fo(a0),a2是a1的某个函数,a2:=f1(a1),依此类 推.一般地,我们令an+=fn(an),其中fn是某个从N到N的函数.使用所有 的公理,我们现在可以断定这个过程将对于每个自然数n,给出序列元素an一个 单一的值.确言之®: 命题2.1.16(递归定义)设对于每个自然数n,都有某个函数fn:N→N把 自然数映成自然数.设c是一个自然数,那么可以对于每个自然数n指定唯一一个 自然数an,使得ao=c且an++=fn(an) 证明(非正式的)用归纳法.首先看到,这个过程给ao一个单一的值,即c (根据公理2.3没有其他的定义an++:=fn(an)再次定义ao的值.)现归纳地假设 此过程给an以一个单一的值,那么它赋予an+一个单一的值an++=fn(an). (根据公理2.4,没有其他的定义amt+=fm(am)能再次定义an+)这就完成了 归纳法,从而对于每个自然数n,an被赋予了一个单一的值 ū 注意,这里所有的公理是怎样必须被用到了.在一个具有某种回归(wrap around)的系统中,递归定义无法工作,因为序列的某些元素常常会被再次定义 例如,在例2.1.5中,其中3++=0,那么对于α0就会(至少)有两个冲突的定 义,或者c,或者f3(a3).在一个具有多余元素如0.5的系统中,元素a0.5永不会被 定义 递归定义的方法是非常有效的.例如,可以用这种方法来定义加法和乘法,我 们现在就来做这件事 S2.2 加 法 自然数系此刻还是非常朴素的:我们只有一种运算 一增长,以及一撮公理 然而现在我们可以建立起更复杂的运算,如加法 办法如下.把5加上3,应该等同于让5增长3次一这比把5加上2多 次增长,而5加上2又是比5加上1多一次增长,5加上1又比5加上0多一次 ①原文irrational number,通常详作“无理数”,我们译为“非比例数”.一译者注 ②严格地说,此命题需要定义函数概念,我们将在下一章定义函数.然而,这不会是循环论证,因为 函数的概念不要Pean0公理.命题2.1.16可以用集合论的语言表述得更严密;见习题3.5.12
20第2章从头开始:自然数 增长,而5加上0应该恰给出5.于是我们给加法一个递归的定义如下: 定义2.2.1(自然数的加法)设m是自然数.为使m加上零,我们定义0+ m:=.现归纳的假定已定义好如何使m加上m.那么把m加于n++则定义为 (n++)+m:=(n+m)++. 于是0+m是m,1+m=(0++)+m是m++,2+m=(1++)+m=(m++)++, 依此类推.例如我们有2+3=(3++)++=4++=5.从上一节关于递归的讨论 看到,我们对每个自然数”n都定义了n+m.这里我们把前面的一般性讨论特殊 化为an=n+m及fn(an)=an++的情形.注意这个定义是对称的:3+5是把5 增长3次,同时5+3是把3增长5次.当然,两者得到同一个值8.更一般地,事 实上对于一切自然数a.b,成立a+b=b+a(我们将简短地予以证明),虽然这并不 是从定义立即明显看到的 注意,我们可以容易地用公理2.1、公理2.2和归纳法(公理2.5)证明两个自 然数的和仍然是自然数.(为什么?) 眼下关于加法我们只知道两件事:0+m=m以及(m++)+m=(n+m)++. 值得注意的是,这已足够用来演绎出我们关于加法所知道的其他一切事情: 我们从一些基本的引理开始”, 引理2.2.2对于任何自然数n,n+0=n. 注意,不能从0+m=m直接断言此事,因为我们尚不知道a+b=b+a. 证明用归纳法.基础情形0+0=0从我们所知的对于每个自然数m都成 立0+m=m以及0是自然数这两个事实得出.现归纳地假定n十0=n.我们要 证的是(n++)+0=n++.但由加法的定义,(n++)+0等于(n+0)++,它等 于n++(由于n+0=n).这就完成了归纳. ■ 引理2.2.3对于任何自然数n和m,n+(m++)=(n+m)++. 再次说明,我们还不能从(n++)+m=(n+m)++导出此事,因为我们尚不 知道a+b=b+a. 证明对n进行归纳(保持m固定).首先考虑基础情形n=0.在这种情形 必须证明 0+(m++)=(0+m)++. 但根据加法的定义,0+(m++)二m++且0+m=m,所以两边都等于m++, ①原文此处作integer..一详者注 ②从逻辑学的观点来说,在引理、命题、定理或推论之间,是没有什么不同的一一它们都是必须被证 明的.然而我们使用这些术语来标示在重要性上和在困难程度上的不同的水平.一个引理是一个容 易证明的断言,它被用来帮助证明其他的命题或定理,但它本身通常不是特别有意义的.命题是本 身有意义的陈述,而定理是比命题更重要的陈述,它对于论题给出确定性的断言,且通常比命题和 引理花更大的力气来予以证明.推论是刚刚证明了的命题或定理的立刻的结果