证明自然数的算术性质
前言
我们很早就知道 a + b = b + a,a * b = b * a,而且也经常用到它,似乎这对于我们来说已经是不证自明的常识了。然而直觉告诉我,很多数学的常识是因为日常使用频繁,不需要知道它们是如何证明的,但是往往这样的常识会有很精彩的数学定义和证明过程。果不其然,查找资料[1]后,我了解到实数的算数性质(交换律,结合律,分配率)都是通过皮亚诺公理推导出来的,看完整个证明过程之后,不得不再一次深深体会到数学的绝妙之处,这篇文章就是对该过程的实现和总结。
证明过程
要证明自然数的算数性质,就需要用到皮亚诺公理(The Peano Postulates),它完美地用数学语言定义了什么是自然数,总共有六条:
- P1:1 属于 N
- P2: 如果 x 也属于 N,那么它的后继数 x’ 也属于 N.
- P3: 不存在一个数 x 它的后继数 x’ 为 1.
- P4: 如果 y 属于 N 且 y 不等于 1,则一定有一个 x 属于 N 使得 x’ = y.
- P5: 如果 x,y 都属于 N 且 x’ = y’,则 x = y.
- P6: 如果 S 是 N 的子集,1 属于 S,并且通过 S 中的一个数 x 可以得出它的后继数 x’ 也属于 S,则 S = N.
直观理解,如果 x 是一个自然数,那么 x 的后继数 x+1 也是自然数(P1,P2),任何自然数的后继数都不可能是1(P3),任何自然数都有它的后继数(P4),任何一个自然数的后继数是唯一的(P5),如果一个自然数的子集中的数的后继数都在这个子集中,那么这个子集就是自然数集(P6)。
递归定义自然数的加法
D+
:设 a 和 b 属于 N.
- 如果 b = 1, 那么定义 a + b = a’ (P1,P2).
- 如果 b 不等于 1, 那么另 c’ = b, 则有 c 属于 N (P4), 同时定义 a + b = (a + c)’.
通过定义可知: D+(1)
:a + 1 = a’,D+(2)
:a + b’ = (a + b)’.
递归定义自然数的乘法
D*
: 设 a 和 b 属于 N.
- 如果 b = 1, 那么定义 a * b = a.
- 如果 b 不等于 1, 那么另 c’ = b, 则有 c 属于 N (P4), 同时定义 a * b = (a * c) + a.
通过定义可知: D*(1)
: a * 1 = a,D*(2)
: a * b’ = (a * b) + a.
定理 1: 如果 a 是一个自然数, 那么 1 + a = a + 1.
证明:令 S 为所有满足 1 + x = x + 1 的 自然数 x 的集合,1 属于 S,假设 a 也在 S 中,则:
1 |
|
因此 a’ 也属于 S,根据 P6,S = N,所以证明成立
定理 2(加法交换律):如果 a,b 都是自然数, 那么 a + b = b + a.
证明:令 S 为自然数 y 的集合,使得所有属于自然数 N 的 x 都满足 x + y = y + x,类比定理1,1 属于 S,假设自然数 b 属于 S. 令 S(b’) 为所有满足 x + b’ = b’ + x 的自然数 x 的集合,类比定理1,假设自然数 a 属于 S(b’)
1 |
|
因此 a’ 也属于 S(b’),根据 P6,S(b’) = N,因此 b’ 属于 S,再次根据 P6,S = N,所以证明成立
定理 3(加法结合律):如果 a,b 和 c 都是自然数, 那么 a + (b + c) = (a + b) + c.
证明:令 S 为自然数 z 的集合,使得所有属于自然数 N 的 x,y 都满足 x + (y + z) = (x + y) + z. 则:
1 |
|
因此 1 属于 S. 假设自然数 c 属于 S, 则:
1 |
|
因此 c’ 也属于 S,根据 P6,S = N,所以证明成立
使用同样的证明过程,还可以证明:
1 * a = a,进而证明
a * b = b * a,进而证明
(a + b) * c = (a * c) + (b * c),接着证明
(a * b) * c = a * (b * c)