如果要按照尽可能严格的方式进行,我们不得不从最基础的内容开始讲起:数的概念及性质。什么是数,以及为什么代数法则总是起作用?这是一个值得探讨的问题。即使有的性质和命题看起来是十分显然的,但是证明它可能并不容易。下面我们将要介绍自然数系 \(\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\)。
我们暂时不更深入地建立指数运算的理论,等到我们定义了比例数(即有理数)后再探讨。