加载中…
从日常计数进入形式化描述,通过零、后继与归纳来界定自然数。
乍看之下,自然数太熟悉了,好像根本不需要定义。我们从小数到大,仿佛
已经把内容讲完了。
但严格的构造观点会问:到底什么结构使自然数成为自然数?答案不在于符号本身,而在于一个起点、一个后继运算,以及一条归纳原理。
如果我们只是写下 ,其实并没有真正解释:
Peano 观点就是直接把这些核心性质说出来。它不依赖直觉,而是说明:凡是自然数模型,都必须满足若干条基本公理。
定义 3.1.1
(自然数的模型)
设 是一个集合,并且有:
如果三元组 满足以下 Peano 公理,就称为 自然数模型:
核心思想是:自然数由它们之间的结构关系刻画,而不是由写法刻画。
每条公理都排除一种病态结构。
这几条合起来,就强迫出我们熟悉的“每次前进一步”的计数图像。
例题 3.1.2
(平常的数字其实由 和 生成)
一旦 与后继映射固定,接下来的数就可以理解为
所以记号 只是“从 开始连续做两次后继所得到的对象”的简写。记号固然方便,但结构才是根本。
因此,为了让定义保持可见、不被熟悉记号遮住,我们会重新写回后继形式。
很多学生在接触归纳法这种证明工具之前,已经认为自己理解了自然数。在严格的构造中,归纳原理却属于刻画自然数的基本条件。
在 Peano 观点里,归纳原理本身就是自然数定义的一部分。换句话说,归纳不只是用来证明 上命题的技巧;它本身就是使 成为自然数的结构事实之一。
定理 3.1.3
(归纳真正给你什么)
要证明命题 对所有 成立,只需要证明:
一旦这两步完成,归纳公理就保证 对每个自然数 都成立。
例题 3.1.4
(为什么有限循环不是自然数模型)
考虑集合 ,并定义后继为
这个结构不满足 Peano 公理。
首先,因为 ,所以 竟然是某个元素的后继,第三条公理失败。这已经足以排除它作为自然数模型。这个例子不应读成“归纳公理失败”:从 反复取后继仍会到达整个有限集合。真正的问题是后继映射绕回去,并让 成为了某个元素的后继。
因此,虽然符号看起来熟悉,这个结构也不是自然数模型。
这个例子很重要,因为它说明 Peano 公理不是装饰,而是用来排除“表面像数数,实际上并不是”的结构。
常见错误
(不要把记号和结构角色混为一谈)
Peano 观点并不是说写出来的符号 天生带有某种神秘意义,而是说 所代表的对象是 的第二个后继。
常见错误
(归纳不是可有可无的附加品)
如果没有归纳公理,一个结构即使包含从 开始的熟悉后继链,仍然可能有额外断开的部分,甚至出现循环。归纳原理正是用来排除这些情况的。
快速检查
(为什么公理 很重要?)
想一想如果 可以是某个数的后继,会对整体结构造成什么影响。
如果 可以是某个后继,那么数数链就可能回头成环,而不再有真正的起点。这样就不再符合我们对自然数“从起点一直向前”的理解。
快速检查
(后继映射是单射,到底防止了什么事情发生?)
请用“两个不同数想共享同一个下一步”来回答。
它防止两个不同元素拥有同一个后继。若没有单射性,两个不同的数可能在下一步突然合并,这会破坏通常的线性计数结构。
快速检查
(当你证明了基本情形和后继步骤之后,可以精确推出什么?)
答案要把结论范围说清楚。
你可以推出该命题对 中的每一个元素都成立,而不只是对前几个例子成立。
必须逐条检查四条 Peano 公理:(1) 后继单射;(2) ;(3) 不是任何后继;(4) 归纳原理。
快速检查
(令 ,并令 、、。四条 Peano 公理中哪些失败?)
检查单射性、固定点、 的像,以及所有包含 且在 下封闭的子集。
公理 (1) 失败,因为 而 。公理 (2) 成立:、 且 。公理 (3) 成立,因为 的像是 ,不包含 。公理 (4) 也成立:任何包含 且在 下封闭的子集,必须先包含 ,再包含 ,于是包含整个 ;循环只会返回已经包含的元素。
快速检查
(令 ,在 上令 ,并令 、、。四条 Peano 公理中哪些失败?)
同时检查三个循环元素和自然数链。
公理 (1) 成立:自然数后继是单射,三循环的像彼此不同且与自然数后继的像不相交。公理 (2) 成立,因为自然数链不断前进,而三循环没有固定点。公理 (3) 成立,因为没有后继等于 。公理 (4) 失败: 是 的真子集,包含 且在 下封闭,却遗漏了 。
后继给出向前的一步;加法与乘法则用递归规则描述重复的步骤。对 ,定义
以及
后继出现在第二个输入上,所以除非已经证明左侧引理,之后的归纳都要遵守这个方向。
加法规则 与 不只是记号;它们指定了怎样把一个后继输入化为较早的输入。乘法规则 与 也同样把乘法化为重复加法。于是 会逐步减到 , 会逐步变成 。这些规则尚未证明交换律;交换律和分配律必须在此基础上另行归纳证明。
加法的递归定义把后继写在第二个输入上。若要把后继放在左边,不能在还没有证明交换律以前直接把两个输入交换;我们要先证明一个独立的恒等式。
定理 3.1.5
(左边的后继可以穿过加法)
对所有 ,都有
固定 ,令 表示 。
基本情形。 当 时,加法定义给出
而右边也满足
所以 成立。
归纳步骤。 假设 成立,即 。于是
因此 推出 。归纳原理便给出所有 的结论。
这个证明显示了一个重要习惯:只有先把表达式改写成归纳假设认识的形状,才能使用归纳假设。归纳假设不是把任意表达式都替换成后继形式的许可。
例题 3.1.6
(证明 ,而不是把它当作定义)
加法定义给出 ,这是基本情形。假设 ,则
所以归纳法证明 对每个自然数 成立。这是递归计算最后在左边遇到零时所需要的恒等式。
常见错误
(归纳假设中的输入是固定的)
在上面的证明中,归纳假设是当前 的 。它并没有直接说带有 的命题已经成立;那正是归纳步骤必须证明的内容。
快速检查
(为什么证明 时对 归纳,而不是对 归纳?)
把归纳变量的选择和递归定义的方向联系起来。
递归定义会把第二个输入降低: 被改写成 的表达式。对 归纳正好沿着定义提供信息的方向进行。若对 归纳,还需要先有另一条引理,才能使用这条递归规则。
定理 3.1.7
(每个非零自然数都有唯一的前驱)
对每个 ,若 ,则存在唯一的 使 。
令 表示:要么 ,要么存在唯一的 使 。基本情形直接成立,因为 。在步骤中, 本身就是 的后继,所以存在性立即成立。若 ,由后继的单射性可得 ,因此唯一性成立。于是后继结构为每个非零自然数提供恰好一个前一个元素。
后继映射给出向前的一步;归纳原理说明,在零处成立并且在这一步下保持的性质,会对模型中的所有元素成立。因此,证明必须说明定义域和基本情形,对任意固定的 假设 ,再用允许的恒等式推出 。只检查几个数字、把后继情形本身当作假设,或只对一个选定输入证明步骤,都不能得到全称结论。
递归规则通常决定适合的归纳变量。也可以选别的变量,但必须已有相应的辅助恒等式。这个习惯同样适用于后面的商集构造:那时要保持的性质是结果不依赖所选代表元。明确说出需要保持的性质,才能判断每一步计算究竟要证明什么。
Peano 公理说明自然数必须有什么行为,但它不强迫我们采用某一种内部表示。一个标准的集合论模型是 von Neumann 构造:
一般而言,
所以每个自然数都是所有较早自然数所组成的集合。在这个模型里,属于关系反映大小次序: 正好表示 小于 。
例题 3.1.8
(为什么 变成 )
由 开始,后继规则给出
再得到
这不是说日常记号 改变了意思,而是说我们建立了一个具体的集合论代表,它满足同样的后继模式。
这一节是数系构造章节的起点。接下来会衔接到 3.2 归纳法与递归算术,而它所使用的语言则可追溯到 2.2 函数与关系。
先自行作答,再检查答案。你可以修改后重试。
加载中…
这一节可以独立阅读。