18 KiB
如果要按照尽可能严格的方式进行,我们不得不从最基础的内容开始讲起:数的概念及性质。什么是数,以及为什么代数法则总是起作用?这是一个值得探讨的问题。即使有的性质和命题看起来是十分显然的,但是证明它可能并不容易。下面我们将要介绍自然数系 $\mathbb N$。毫无疑问,这是所有数系中最基本的。因为随后我们将会使用自然数来构造整数,整数又被用来构造有理数,有理数被用于构造实数,而实数又被用来构造复数。于是,如果我们想要从最基本的内容开始,我们必须考察自然数。
2.1 皮亚诺公理
皮亚诺公理是关于 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 就是关于自然数的所谓的皮亚诺公理。我们据此作出假设:
- 假设 2.1.6:存在一个数系 $\mathbb{N}$,称其元素为自然数,公理 2.1.1~2.1.5 对于此数系成立。
这样的数系可能有很多(比如每个元素可以是 $0,1,2,\cdots$,也可以是罗马数字),但这些集合都是同构(称为皮亚诺结构)的,或者说只有命名之分,所以我们仅仅单独使用一个自然数系。
这里再插入一个 “更正式的定义”(我们暂时没有采用这个公理,因为我们还没有定义集合):
一个皮亚诺结构为一满足下列条件的三元组 $(X,x,f)$:
X
为一集合,x
为X
中一元素,f
是X
到自身的映射。x
不在f
的像集内。f
为一单射($\forall_{a\neq b},f(a)\neq f(b)$)。- 若
A
为X
的子集,满足x\in A
且 “若 $a\in A$,则 $f(a)\in A$”,则 $A=X$。注:2、3 说明图中存在一条以
x
开头的无限长的链,4 说明了除了这条链之外X
中不存在其他元素。
注:对比两种定义方式,可以看出:
-
两种定义方式都是公理化的,而非构造性的。
即,它都不是告诉你自然数是什么(它们代表数量吗、代表物理对象吗……)——这不是关键,关键是自然数满足的性质(如公理 2.5 就说明自然数满足数学归纳法)——这决定我们怎么利用自然数这一工具。
-
第一种定义方式,是直接地说明了运用自然数时所需要的种种性质。
-
第二种定义方式,对自然数的结构描绘地更加清晰。当然从结构也能推出第一种定义方式中说明的性质。
(不严谨的)证明:首先根据公理 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\geqslant m$ 或 $m\leqslant n$),当且仅当存在自然数 $a$,使得 $n=m+a$。
称 $n$ 严格大于 $m$(记作 $n>m$ 或 $m<n$),当且仅当 $n\geqslant m$ 且 $n\neq m$。
- **引理 2.2.11**:$n>m$ 当且仅当存在正数 $a$ 使得 $n=m+a$。**证明**:根据定义可推得。
- **命题 2.2.12(自然数的序的基本性质)**:设 $a,b,c$ 为自然数,那么:
- **反对称性**:若 $a\geqslant b$ 且 $b\geqslant a$,则 $a=b$。
证明:根据定义,存在自然数 $n,m$ 满足 $a=b+n$ 且 $b=a+m$,代入得 $m+n=0$,根据推论 2.2.8,$m=n=0$,那么 $a=b$。
- **传递性**:若 $a\geqslant b$ 且 $b\geqslant c$,则 $a\geqslant c$。
证明:根据定义,存在自然数 $n,m$ 满足 $a=b+n$ 且 $b=c+m$,代入得 $a=c+(m+n)$,那么 $a\geqslant c$。
- **三歧性**:$a<b,\ a=b,\ b>a$ 中恰有一个是真的。
证明:根据定义和反对称性,可以证明三个命题中不可能有多个为真,下面证明三个命题中至少一个为真。
对 $b$ 进行归纳。当 $b=0$ 时,对于任意自然数 $a$,$a=a+0$,则 $a\geqslant b$,故 $a=b$ 或 $a>b$。
假设对 $b$ 我们已经证明了命题,现在要对 $b^+$ 证明命题。
对于 $a\leqslant b$,由于 $b\leqslant (b^+)$,故仍然有 $a\leqslant (b^+)$;
对于 $a>b$,说明存在正数 $k$ 满足 $a=b+k$,根据引理 2.2.9,存在一个自然数 $k'$ 满足 $a=b+(k'^+)=(b^+)+k'$,故 $a\geqslant (b^+)$。
其实也是全序的基本性质。作为补充的是,三歧性等价于完全性($a\geqslant b$ 或 $b\geqslant a$),完全性蕴含自反性($a\geqslant a$);以及自然数的序还满足加法保序。
序的性质使得我们得到数学归纳原理的若干更强的形式:
- **命题 2.2.13(向前数学归纳原理)**:设 $n_0$ 是一个自然数,$P(n)$ 是关于自然数的一个性质。假设 $P(n_0)$ 是真的,并假设有 “当 $n\geqslant n_0$ 时,若 $P(n)$ 是真的,则 $P(n^+)$ 也是真的”。那么对于每个自然数 $n\geqslant 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\leqslant n_0$,$P(m)$ 都是真的。
**证明**:设 $Q(n)$ 表示 $n>n_0$ 或 “假设 $P(n)$ 是真的,那么对于每个自然数 $m\leqslant n$,$P(m)$ 都是真的” 成立。类似地利用序的三歧性和原始的数学归纳原理证明即可。
由此可见,利用序的性质,现在数学归纳法已经不局限于从 $0$ 开始推知整个自然数系了,它可以应用于更紧的要求内。
那么,当我们以后使用数学归纳原理的“能较为显然地用类似方法证明的”其他拓展形式时,将不再作证明。
- **命题 2.2.15(强归纳法原理/第二数学归纳法)**:设 $n_0$ 是一个自然数,$P(n)$ 是关于自然数的一个性质。假设 $P(n_0)$ 是真的,并假设有 “当 $n\geqslant n_0$ 时,若 $P(n')$ 对于所有 $n_0\leqslant n'\leqslant n$ 都是真的,则 $P(n^+)$ 也是真的”。那么对于每个自然数 $n\geqslant n_0$,$P(n)$ 都是真的。
**证明**:设 $Q(n)$ 表示 $P(n')$ 对于所有 $n_0\leqslant n'\leqslant n$ 都是真的。
对 $n$ 归纳。当 $n=n_0$ 时,$Q(n)$ 是真的。当 $n\geqslant n_0$ 时,归纳地假设 $Q(n)$ 是真的,那么 $P(n^+)$ 是真的,$Q(n^+)$ 也是真的。根据数学归纳原理,对于任意 $n\geqslant n_0$,$Q(n)$ 都是真的。则原命题亦得证。
补充一个性质:
- **命题 2.2.16(加法保序)**:设 $a,b,c$ 为自然数,$a\geqslant b$ 当且仅当 $a+c\geqslant 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\leqslant b$,则 $ac\leqslant bc$;若 $c$ 为正数且 $a<b$,则 $ac<bc$。
**证明**:若 $c$ 为自然数且 $a\leqslant b$,那么存在自然数 $d$ 使得 $a+d=b$,那么 $(a+d)c=bc$ 即 $ac+dc= bc$,由于 $dc$ 为自然数,故 $ac\leqslant 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\leqslant 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\leqslant n'< n$,$P(n')$ 成立。现在欲证明 $P(n)$ 成立,即对于任意正数 $q$ 证明 $Q_n(q)$ 成立。
- 对于 $q>n$,$(0,n)$ 即为一组合法解。
- 对于 $0<q\leqslant 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'\geqslant m>0$。那么 $Q'_n(q)$ 成立。
于是对于任意 $0<q\leqslant 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'\geqslant q$,矛盾,故不可能存在两组不同的解。
我们姑且先把指数运算也一起定义了:
- **定义 2.3.9(自然数的指数运算)**:设 $m$ 是自然数,首先定义 $m^0:=1$。现归纳地假定已定义好 $m^n$,那么定义 $m^{n^+}:=m^n\times m$。
我们暂时不更深入地建立指数运算的理论,等到我们定义了比例数(即有理数)后再探讨。