前言

我们很早就知道 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.

  1. 如果 b = 1, 那么定义 a + b = a’ (P1,P2).
  2. 如果 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.

  1. 如果 b = 1, 那么定义 a * b = a.
  2. 如果 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' = (1 + a)'  --D+(2)
       = (a + 1)'  --假设 a 属于 S
       = (a')'     --D+(1)
       = a' + 1    --D+(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’)

a' + b' = (a' + b)'    --D+(2)
        = (b + a')'    --假设 b 属于 S
        = ((b + a)')   --D+(2)
        = ((a + b)')'  --假设 b 属于 S
        = (a + b')'    --D+(2)
        = (b' + a)'    --假设 a 属于 T(b')
        = b' + a'      --D+(2)

因此 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. 则:

a + (b + 1) = a + b'       --D+(1)
            = (a + b)'     --D+(2)
            = (a + b) + 1  --D+(1)

因此 1 属于 S. 假设自然数 c 属于 S, 则:

a + (b + c') = a + (b + c)'    --D+(2)
             = (a + (b + c))   --D+(2)
             = ((a + b) + c)'  --假设c属于S
             = (a + b) + c'    --D+(2)

因此 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)


  1. 查看原文:Proving the Properties of Natural Numbers ↩︎



数学      定理证明

本博客所有文章除特别声明外,均采用 CC BY-SA 3.0协议 。转载请注明出处!