lcw-analyze/src/第2章 从头开始:自然数.md
2022-09-05 14:29:40 +08:00

285 lines
17 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

### 第 2 章 从头开始:自然数
#### 2.1 Peano 公理
Peano 公理是关于 $0$ 以及增长运算 $++$(将 $n++$ 称为 $n$ 的后继,或 $n$ 增长后得到的结果,它是唯一的)的公理:
- **公理 2.1.1**$0$ 是一个自然数。
- **公理 2.1.2**:若 $n$ 是自然数,则 $n++$ 也是自然数。
定义 $1$ 是数 $0++$$2$ 是数 $(0++)++$,…… 这里只是自然数的一种表示方法。
- **公理 2.1.3**$0$ 不是任何自然数的后继,即对于每个自然数 $n$,都有 $n++\neq 0$。
- **公理 2.1.4**:不同的自然数有不同的后继。即,若 $n,m$ 为自然数且 $n\neq m$,则 $n++\neq m++$。
- **公理 2.1.5(数学归纳原理)**:设 $P(n)$ 是关于自然数的一个性质。假设 $P(0)$ 是真的,并假设有 “若 $P(n)$ 是真的,则 $P(n++)$ 也是真的”。那么对于每个自然数 $n$$P(n)$ 都是真的。
公理 2.1~2.5 就是关于自然数的所谓的 Peano 公理。我们据此作出假设:
- **假设 2.1.6**:存在一个数系 $\mathbb{N}$,称其元素为自然数,公理 2.1.1~2.1.5 对于此数系成立。
这样的数系可能有很多(比如每个元素可以是 $0,1,2,\cdots$,也可以是罗马数字),但这些集合都是同构(称为皮亚诺结构)的,或者说只有命名之分,所以我们仅仅单独使用一个自然数系。
这里再插入一个 “更正式的定义”:
> 一个皮亚诺结构为一满足下列条件的三元组 $(X,x,f)$
>
> 1. $X$ 为一集合,$x$ 为 $X$ 中一元素,$f$ 是 $X$ 到自身的映射。
> 2. $x$ 不在 $f$ 的像集内。
> 3. $f$ 为一单射($\forall_{a\neq b},f(a)\neq f(b)$)。
> 4. 若 $A$ 为 $X$ 的子集,满足 $x\in A$ 且 “若 $a\in A$,则 $f(a)\in A$”,则 $A=X$。
>
> 2、3 说明图中存在一条以 $x$ 开头的无限长的链4 说明了除了这条链之外 $X$ 中不存在其他元素。
注:对比两种定义方式,可以看出:
1. 两种定义方式都是公理化的,而非构造性的。
即,都不是告诉你自然数是什么(它们代表数量吗、代表物理对象吗……)——这不是关键,关键是自然数满足的性质(如公理 2.5 就说明自然数满足数学归纳法)——这决定我们怎么利用自然数这一工具。
2. 第一种定义方式,是直接地说明了运用自然数时所需要的种种性质。
3. 第二种定义方式,对自然数的结构描绘地更加清晰。当然从结构也能推出第一种定义方式中说明的性质。
(不严谨的)证明:首先根据公理 2.1.1~2.1.4 可以看出,自然数中存在一条以 $0$ 开头的无限长的链的结构。那么我们只用说明,整个自然数结构中,除了这条链之外没有其他东西。
定义命题 $P(n)$ 表示 $n=0$ 或 $\exist_m,m++=n$。根据公理 2.1.5,可证对于任意自然数 $n$$P(n)$ 都为真。
那么如果整个自然数结构中,除了那条链之外还存在其他东西,那么容易发现这些 “自然数” 的 $P$ 要么为假,要么是非良定义的(出现循环递归定义的情况),那么就和所有自然数的 $P$ 都为真矛盾了。
于是,这种 “自然数结构” 不满足公理 2.1.5,那么整个自然数结构中,除了这条链之外没有其他东西。
公理化的一个结果是,我们可以通过递归的方法定义无限数列了:
- **命题 2.1.7(递归定义)**:设对于每个自然数 $n$,都有某个函数 $f_n:\mathbb N\to \mathbb N$。设 $c$ 是一个自然数,那么可以对每个自然数 $n$ 指定唯一一个自然数 $a_n$,使得 $a_0=c$ 且 $a_{n++}=f_n(a_n)$。
**证明**:命题用意在于证明 $a_n$ “存在” 且 “唯一”。
首先,$a_0$ 存在,且有 ”若 $a_n$ 存在,那么由 $a_{n++}=f_n(a_n)$ 可知 $a_{n++}$ 也存在”,根据公理 2.1.5,对于每个自然数 $n$$a_n$ 都存在。
其次,对于 $n=0$,除了初始给 $a_0$ 指定值 $c$ 之外,根据公理 2.1.3 没有其他的定义 $a_{n++}:=f_n(a_n)$ 再次定义 $a_0$ 的值,故 $a_0$ 唯一,且有 “若 $a_n$ 唯一,它将赋予 $a_{n++}$ 一个单一的值 $a_{n++}:=f_n(a_n)$,且根据公理 2.1.4 可知没有其他的定义 $a_{m++}:=f_m(a_m)$ 能再次定义 $a_{n++}$,则 $a_{n++}$ 唯一”,根据公理 2.1.5,对于每个自然数 $n$$a_n$ 都唯一。
这是公理化结果中的一个较为模板性的结果。我们可以用递归定义的方法来定义加法和乘法。
#### 2.2 加法
让我们定义加法,定义 $n$ 加上 $m$ 表示将 $n$ 增长 $m$ 次的结果,其准确定义如下:
- **定义 2.2.1(自然数的加法)**:设 $m$ 是自然数,首先定义 $0+m:=m$ 为一自然数。现归纳地假定已定义好 $n+m$ 为一自然数,那么定义 $(n++)+m:=(n+m)++$ 也为一自然数。
根据命题 2.1.7,对于每个自然数 $n$ $n+m$ 都有定义且唯一。(为了方便,以后这句话以及上面过程中用于强调加法封闭性(递归定义要求封闭性)的相关语句可能省略)
我们要证明加法的两个基本运算定律:交换律和结合律。为了较为清晰地显现出 $n+m$ 最初始的定义(且防止误用还未证明的交换律或结合律),我们暂时用 $f_m(n)$ 表示 $n+m$,那么 $f_m(0)=m,f_{m}(n++)=f_m(n)++$。
- **命题 2.2.2(加法交换律)**:对于任何自然数 $n$ 和 $m$$n+m=m+n$。
**证明**:即证 $f_m(n)=f_n(m)$。保持 $m$ 固定,对 $n$ 进行归纳。
当 $n=0$ 时,即证 $f_m(0)=f_0(m)$ 即证 $m=f_0(m)$,对 $m$ 再归纳即可。
归纳地假设 $f_m(n)=f_n(m)$,欲证:
$$
\begin{aligned}
f_m(n++)&=f_{n++}(m)\\
\iff f_m(n)++&=f_{n++}(m)\\
\iff f_n(m)++&=f_{n++}(m)
\end{aligned}
$$
同样再对 $m$ 进行归纳即可:$\begin{cases}f_n(0)++=n++=f_{n++}(0)\\f_n(m++)++=(f_n(m)++)++=f_{n++}(m)++=f_{n++}(m++)\end{cases}$。
- **命题 2.2.3(加法结合律)**:对于任何自然数 $a,b,c$$(a+b)+c=a+(b+c)$。
**证明**:即证 $f_c(a+b)=f_{b+c}(a)$。保持 $c$ 固定,对 $a$ 进行归纳。
当 $a=0$ 时,$f_c(0+b)=f_c(b)=b+c=f_{b+c}(0)$。
归纳地假设 $f_c(a+b)=f_{b+c}(a)$,欲证:
$$
\begin{aligned}
f_c((a++)+b)&=f_{b+c}(a++)\\
\iff f_c((a+b)++)&=f_{b+c}(a)++\\
\iff f_c(a+b)++&=f_{b+c}(a)++
\end{aligned}
$$
$b=c\to a+b=a+c$ 是显然的,但由于我们还没建立减法和负数的概念,所以还不能直接说明 $a+b=a+c\to b+c$。为此,我们再证明消去律:
- **命题 2.2.4(加法消去律)**:设 $a,b,c$ 是自然数,满足 $a+b=a+c$,那么 $b=c$。
**证明**:保持 $b,c$ 固定,对 $a$ 进行归纳。
当 $a=0$ 时,$0+b=0+c$,即 $b=c$。
归纳地假设 $a+b=a+c\to b=c$。若 $(a++)+b=(a++)+c$,那么 $(a+b)++=(a+c)++$,根据公理 2.1.4,可知 $a+b=a+c$,那么 $b=c$。
这样,我们就能做等式两边的化简了。
接下来讨论加法和正性交互作用。
- **定义 2.2.5(正自然数)**:一个自然数被称为正的,当且仅当它不等于 $0$。
- **引理 2.2.6**:对于任意自然数 $n$$n++$ 都是正的。**证明**:根据公理 2.1.3 可证。
- **命题 2.2.7**:若 $a$ 是正的且 $b$ 是自然数,那么 $a+b$ 是正的。**证明**:对 $b$ 归纳。
- **推论 2.2.8**$a+b=0$ 当且仅当 $a=0$ 且 $b=0$。
- **引理 2.2.9**:设 $b$ 是正数,那么恰存在一个自然数 $a$,使得 $a++=b$。
**证明**:设命题 $P(b)$ 表示 $b=0$ 或恰存在一个自然数 $a$,使得 $a++=b$。
对 $b$ 归纳,$P(0)$ 显然成立。假设 $P(b)$ 成立,根据公理 2.1.4,恰存在一个自然数 $a=b$ 使得 $a++=(b++)$,故 $P(b++)$ 成立。则对于任意自然数 $b$$P(b)$ 成立。
当 $b$ 为正数时,$P(b)$ 成立,而 $b\neq 0$,故原引理成立。
(由于公理 2.1.5 只给出了从 $0$ 开始的数学归纳原理,所以这个证明十分别扭,不过等我们定义了序的概念之后,就好做了)
一旦有了加法的概念,我们可以开始定义序的概念。
- **定义 2.2.10(自然数的序)**:设 $n$ 和 $m$ 是自然数,称 $n$ 大于等于 $m$(记作 $n\geq m$ 或 $m\leq n$),当且仅当存在自然数 $a$,使得 $n=m+a$。
称 $n$ 严格大于 $m$(记作 $n>m$ 或 $m<n$当且仅当 $n\geq m$ $n\neq m$。
- **引理 2.2.11**$n>m$ 当且仅当存在正数 $a$ 使得 $n=m+a$。**证明**:根据定义可推得。
- **命题 2.2.12(自然数的序的基本性质)**:设 $a,b,c$ 为自然数,那么:
- **反对称性**:若 $a\geq b$ 且 $b\geq a$,则 $a=b$。
证明:根据定义,存在自然数 $n,m$ 满足 $a=b+n$ 且 $b=a+m$,代入得 $m+n=0$,根据推论 2.2.8$m=n=0$,那么 $a=b$。
- **传递性**:若 $a\geq b$ 且 $b\geq c$,则 $a\geq c$。
证明:根据定义,存在自然数 $n,m$ 满足 $a=b+n$ 且 $b=c+m$,代入得 $a=c+(m+n)$,那么 $a\geq c$。
- **三歧性**$a<b,\ a=b,\ b>a$ 中恰有一个是真的。
证明:根据定义和反对称性,可以证明三个命题中不可能有多个为真,下面证明三个命题中至少一个为真。
对 $b$ 进行归纳。当 $b=0$ 时,对于任意自然数 $a$$a=a+0$,则 $a\geq b$,故 $a=b$ 或 $a>b$。
假设对 $b$ 我们已经证明了命题,现在要对 $b++$ 证明命题。
对于 $a\leq b$,由于 $b\leq (b++)$,故仍然有 $a\leq (b++)$
对于 $a>b$,说明存在正数 $k$ 满足 $a=b+k$,根据引理 2.2.9,存在一个自然数 $k'$ 满足 $a=b+(k'++)=(b++)+k'$,故 $a\geq (b++)$。
其实也是全序的基本性质。作为补充的是,三歧性等价于完全性($a\geq b$ 或 $b\geq a$),完全性蕴含自反性($a\geq a$);以及自然数的序还满足加法保序。
序的性质使得我们得到数学归纳原理的若干更强的形式:
- **命题 2.2.13(向前数学归纳原理)**:设 $n_0$ 是一个自然数,$P(n)$ 是关于自然数的一个性质。假设 $P(n_0)$ 是真的,并假设有 “当 $n\geq n_0$ 时,若 $P(n)$ 是真的,则 $P(n++)$ 也是真的”。那么对于每个自然数 $n\geq n_0$$P(n)$ 都是真的。
**证明**:设 $Q(n)$ 表示 $n<n_0$ $P(n)$ 成立利用序的三歧性再用回初始的数学归纳原理 2.1.5 即可证明
- **命题 2.2.14向后数学归纳原理** $n_0$ 是自然数$P(m)$ 是关于自然数的一个性质假设 $P(n_0)$ 是真的并假设有 $m<n_0$ $P(m++)$ 是真的 $P(m)$ 也是真的”。那么对于每个自然数 $m\leq n_0$$P(m)$ 都是真的
**证明** $Q(n)$ 表示 $n>n_0$ 或 “假设 $P(n)$ 是真的,那么对于每个自然数 $m\leq n$$P(m)$ 都是真的” 成立。类似地利用序的三歧性和原始的数学归纳原理证明即可。
可见,利用序的性质,现在数学归纳法已经不局限于从 $0$ 开始推知整个自然数系了,它可以应用于更紧的要求内。
那么,当我们以后使用数学归纳原理的“能较为显然地用类似方法证明的”其他拓展形式时,将不再作证明。
- **命题 2.2.15(强归纳法原理/第二数学归纳法)**:设 $n_0$ 是一个自然数,$P(n)$ 是关于自然数的一个性质。假设 $P(n_0)$ 是真的,并假设有 “当 $n\geq n_0$ 时,若 $P(n')$ 对于所有 $n_0\leq n'\leq n$ 都是真的,则 $P(n++)$ 也是真的”。那么对于每个自然数 $n\geq n_0$$P(n)$ 都是真的。
**证明**:设 $Q(n)$ 表示 $P(n')$ 对于所有 $n_0\leq n'\leq n$ 都是真的。
对 $n$ 归纳。当 $n=n_0$ 时,$Q(n)$ 是真的。当 $n\geq n_0$ 时,归纳地假设 $Q(n)$ 是真的,那么 $P(n++)$ 是真的,$Q(n++)$ 也是真的。根据数学归纳原理,对于任意 $n\geq n_0$$Q(n)$ 都是真的。则原命题亦得证。
补充一个性质:
- **命题 2.2.16(加法保序)**:设 $a,b,c$ 为自然数,$a\geq b$ 当且仅当 $a+c\geq b+c$。**证明**:根据定义可知。
#### 2.3 乘法
就像加法是重复的增长运算一样,乘法是重复的加法。
- **定义 2.3.1(自然数的乘法)**:设 $m$ 是自然数,首先定义 $0\times m:=m$。现归纳地假定已定义好 $n\times m$,那么定义 $(n++)\times m:=(n\times m)+m$。
- **命题 2.3.2(乘法交换律)**:对于任何自然数 $n$ 和 $m$$n\times m=m\times n$。
**证明**:和加法类似,设 $f_m(n)=n\times m$。即证 $f_m(n)=f_n(m)$。保持 $m$ 固定,对 $n$ 进行归纳。
当 $n=0$ 时,即证 $f_m(0)=f_0(m)$ 即证 $0=f_0(m)$,对 $m$ 归纳即证。
归纳地假设 $f_m(n)=f_n(m)$,欲证:
$$
\begin{aligned}f_m(n++)&=f_{n++}(m)\\\iff f_m(n)+m&=f_{n++}(m)\\\iff f_n(m)+m&=f_{n++}(m)\end{aligned}
$$
同样再对 $m$ 进行归纳即可:$\begin{cases}f_n(0)+0=0=f_{n++}(0)\\f_n(m++)+(m++)=(f_n(m)+n)+(m++)=f_{n++}(m)+(n++)=f_{n++}(m++)\end{cases}$。
为了简便,我们现在将 $n\times m$ 简写为 $nm$,并按习惯规定先乘后加。
- **引理 2.3.3**$n\times m$ 为正数当且仅当 $n,m$ 都为正数。
**证明**:根据定义,当 $n,m$ 有一者等于 $0$ 时 $n\times m=0$;容易归纳证明,当 $n,m$ 都为正数时 $n\times m$ 为正数。
- **命题 2.3.4(乘法分配律)**:对于任何自然数 $a,b,c$,有 $a(b+c)=ab+ac$。
**证明**:乘法的定义中 $(n++)\times m=n\times m+m$ 其实奠定了乘法分配律的基本情形。然后对 $a$ 归纳即可。
- **命题 2.3.5(乘法结合律)**:对于任何自然数 $a,b,c$ 有 $(a\times b)\times c=a\times (b\times c)$。
**证明**:和加法类似,对 $a$ 归纳。过程中需要用到乘法分配律。
- **命题 2.3.6(乘法保序)**:设 $a,b$ 为自然数。若 $c$ 为自然数且 $a\leq b$,则 $ac\leq bc$;若 $c$ 为正数且 $a<b$ $ac<bc$。
**证明** $c$ 为自然数且 $a\leq b$那么存在自然数 $d$ 使得 $a+d=b$,那么 $(a+d)c=bc$ $ac+dc= bc$,由于 $dc$ 为自然数 $ac\leq bc$。另一者的证明类似
- **推论 2.3.7乘法消去律** $a,b$ 为自然数$c$ 是正数若满足 $ac=bc$,则 $a=b$。
**证明**根据命题 2.3.6不可能 $a<b$ $a>b$。
至此,我们已经构建了较为成熟的加法和乘法的运算系统。
我们拓展一个后面将会用到的定理:
- **命题 2.3.8(欧几里得算法)**:设 $n$ 是自然数且 $q$ 是正数,那么存在唯一的自然数 $m,r$,使得 $0\leq r<q$ $n=mq+r$。
**证明** $(m,r)$ 表示一组解
存在性
设命题 $Q_n(q)$ 表示原命题设命题 $P(n)$ 表示对于任意正数 $q$ 满足 $Q_n(q)$ 成立证明思路是外层对 $n$ 归纳证明 $P(n)$ 内层 $n$ 固定时对所有 $q$ 证明 $Q_n(q)$。
$Q_n(q)$ 表示原命题$P(n)$ 表示对于任意正数 $q$ 满足 $Q_n(q)$ 成立证明思路是外层对 $n$ 归纳证明 $P(n)$内层 $n$ 固定时对 $q$ 归纳证明 $Q_n(q)$。
对于 $n=0$,对于任意正数 $q$$(0,0)$ 即为一组使命题 $Q_0(q)$ 成立的合法解于是 $P(0)$ 成立
$n$ 为正数归纳地假设对于任意的 $0\leq n'< n$$P(n')$ 成立现在欲证明 $P(n)$ 成立即对于任意正数 $q$ 证明 $Q_n(q)$ 成立
- 对于 $q>n$$(0,n)$ 即为一组合法解。
- 对于 $0<q\leq n$ $Q'_n(q)$ 表示 $Q_n(q)$ 成立且对应解 $(m,r)$ 中的 $m>0$。考虑使用命题 2.2.14 证明:
当 $q=n$ 时,$(1,0)$ 即为一组合法解。
当 $0<q<n$ 归纳地假设 $Q'_n(q++)$ 成立那么存在一组 $(m,r)$其中 $m>0$),使得 $n=(q++)m+r=qm+(m+r)$。
该等式蕴含了 $n>m+r$,因为 $q>0,m>0$。那么根据归纳,$P(m+r)$ 成立,$Q_{m+r}(q)$ 成立,不妨设对应解为 $(m',r')$。
那么 $n=qm+(m+r)=qm+(qm'+r')=q(m+m')+r'$,于是我们构造出了一组解 $(m+m',r')$,同时 $m+m'\geq m>0$。那么 $Q'_n(q)$ 成立。
于是对于任意 $0<q\leq n$$Q'_n(q)$ 成立那么 $Q_n(q)$ 也成立
于是 $P(n)$ 成立于是根据命题 2.2.15对于任意自然数 $n$$P(n)$ 都成立
唯一性
反证设对于 $n,q$ 找到了两组解 $(m,r),(m',r')$那么 $n=mq+r=m'q+r'$,那么可知 $m\neq m'$否则 $r=r'$),那么不妨设 $m<m'$于是存在正数 $a$ 使得 $m'=m+a$。
那么 $n=m'q+r'=(m+a)q+r'=mq+(aq+r')$,结合 $n=mq+r$ 可知 $r=aq+r'\geq q$矛盾故不可能存在两组不同的解
我们姑且先把指数运算也一起定义了
- **定义 2.3.9自然数的指数运算** $m$ 是自然数首先定义 $m^0:=1$。现归纳地假定已定义好 $m^n$那么定义 $m^{n++}:=m^n\times m$。
我们暂时不更深入地建立指数运算的理论等到第 4 章中我们定义了比例数后再探讨