算术基本定理

11 阅读2分钟

背景

小学时,我们学习过如何对正整数进行质因数分解,但是没有严格证明所有正整数的质因数分解的结果都是唯一的(如果不考虑质因数的顺序)。本文会介绍算术基本定理 (The Fundamental Theorem of Arithmetic\text{The Fundamental Theorem of Arithmetic})

正文

引理一

pp 是一个质数,a,ba,b 都是整数,如果 pabp\mid ab 成立,那么以下两个命题至少有一个成立。

  • pap\mid a
  • pbp\mid b

引理一的证明

我们先检查 pap\mid a 是否成立。

如果 pap\mid a 成立,那么证明结束(因为第一个命题成立)。

如果 pap\nmid a,那么我们需要证明 pbp\mid b。考虑到 pap\nmid a,而 pp 的约数只有 11pp,那么 gcd(p,a)=1gcd(p,a)=1 成立。依据扩展欧几里得定理(可以参考 [Python] 扩展欧几里得算法 一文),我们可以找到满足下列等式的整数 x,yx,y

px+ay=1px+ay=1

我们可以在等式两边乘以 bb,得到 ⬇️

pxb+aby=bpxb+aby=b

由于 ppp\mid ppabp\mid ab 都成立,所以等式左边可以被 pp 整除,那么等式右边也能被 pp 整除,即 pbp\mid b。证明结束(因为第二个命题成立)。

引理二

Prime Divisibility Property\text{Prime Divisibility Property}

pp 是一个质数,a1,a2,,ara_1,a_2,\cdots,a_r 都是整数,如果 pa1a2arp\mid a_1 a_2 \cdots a_r,那么以下 rr 个命题至少有一个成立。

  • pa1p\mid a_1
  • pa2p\mid a_2
  • \cdots
  • parp\mid a_r

引理二的证明

我们可以对 rr 的大小进行归纳证明 ⬇️

  • r=1r=1 时,p=a1p=a_1pa1p\mid a_1 自然成立
  • r=2r=2 时,引理二退化为引理一
  • r=3r=3
    • 如果 pa1p\mid a_1,那么引理二成立
    • 如果 pa1p\nmid a_1,那么根据引理一,pa2a3p\mid a_2 a_3 成立。利用引理一,pa2p\mid a_2 成立或者 pa3p\mid a_3 成立。引理二得证。
  • r=4r=4
    • 如果 pa1p\mid a_1,那么引理二成立
    • 如果 pa1p\nmid a_1,那么根据引理一,pa2a3a4p\mid a_2 a_3 a_4 成立。这就退化成了 r=3r=3 的情况。
  • ...

所以,我们可以把引理一视为引理二在 r=2r=2 时的特例,把引理二视为引理一的推广。

算术基本定理

算术基本定理 (The Fundamental Theorem of Arithmetic)\text{The Fundamental Theorem of Arithmetic})

对于任意满足 n2n\ge 2 的整数 nn,它都可以分解为若干个质数的乘积,而且这个分解结果是唯一的(如果不考虑质因数的顺序)。

证明分为两部分 ⬇️

  • 分解结果存在
  • 分解结果唯一

证明分解结果存在

n=2n=2 时,22 就是(一个)分解结果。假设我们已经证明了 2nk2\le n \le k 的情况,现在要用数学归纳法证明 n=k+1n=k+1 的情况。

如果 k+1k+1 自身就是质数,那么 n=k+1n=k+1 就是(一个)分解结果。

如果 k+1k+1 不是质数,考虑到每个大于等于 22 的整数至少有 22 个约数,即 11 和它自身。既然 k+1k+1 不是质数,那么 k+1k+1 一定还有除了 11nn 之外的其他约数 xxxx 满足 1<x<(k+1)1 \lt x\lt (k + 1)n=xn=x 以及 n=k+1xn=\frac{k+1}{x}的情况,已经被归纳假设所涵盖了,xxk+1x\frac{k+1}{x} 都可以写成若干个质数的乘积。那么 k+1=x×k+1xk+1=x \times \frac{k+1}{x} 也可以写成若干个质数的乘积。

n=k+1n=k+1 的情况证明完毕。根据数学归纳法,分解结果的存在性对任意 n2n\ge 2 都成立。

证明分解结果唯一

n=2n=2 时,只有一个分解结果 n=2n=2,假设存在某个 NN,它的质因数分解的结果不唯一。那么我们逐个检查 n=2,3,,Nn=2,3,\cdots,N 的情况,一定可以找到 分解结果不唯一 的最小的整数 N0N_0 (那么 2<N0N2\lt N_0\le N) 成立。请注意,对任意满足 2n<N02\le n \lt N_0nn,其分解结果都是唯一的。由于 N0N_0 的分解结果不唯一,那么它至少有两种分解结果,分别记录如下

  • N0=p1p2psN_0=p_1 p_2\cdots p_s
  • N0=q1q2qtN_0=q_1 q_2\cdots q_t

其中 p1,p2,,psp_1,p_2,\cdots,p_s 均为质数,q1,q2,,qtq_1,q_2,\cdots,q_t 均为质数。为了便于讨论,我们假设 p1,p2,,psp_1,p_2,\cdots,p_sq1,q2,,qtq_1,q_2,\cdots,q_t 各自已经按照从小到大的顺序排序过了。

我们看看 p1p_1。由于 N0=p1p2psN_0=\mid p_1 p_2\cdots p_s 所以,p1N0p_1 \mid N_0。根据引理二,以下 tt 个命题中至少有一个命题成立

  • p1q1p_1\mid q_1
  • p1q2p_1\mid q_2
  • \cdots
  • p1qtp_1\mid q_t

考虑到 q1,q2,,qtq_1,q_2,\cdots,q_t 均为质数,也就是说,q1,q2,,qtq_1,q_2,\cdots,q_t 中一定存在和 p1p_1 相等的元素。换句话说,q1,q2,,qtq_1,q_2,\cdots,q_t 中至少有一个数字是 p1p_1

我们看看 q1q_1。用类似的方式,可以得出 p1,p2,,psp_1,p_2,\cdots,p_s 中至少有一个数字是 q1q_1

考虑到 p1,p2,,psp_1,p_2,\cdots,p_sq1,q2,,qtq_1,q_2,\cdots,q_t 均已排序,

  • p1p_1q1,q2,,qtq_1,q_2,\cdots,q_t 中出现,那么 p1q1p_1 \ge q_1
  • q1q_1p1,p2,,psp_1,p_2,\cdots,p_s 中出现,那么 q1p1q_1 \ge p_1

所以 p1=q1p_1=q_1 成立。这就出现一个问题:既然 p1=q1p_1=q_1,那么我们重新看一下 N0N_0 的两种分解结果 ⬇️

  • N0=p1p2psN_0=p_1 p_2\cdots p_s
  • N0=q1q2qtN_0=q_1 q_2\cdots q_t

我们可以在每个等式两边都除以 p1p_1 (也就是 q1q_1),记 N0=N0/p1N_0'=N_0/p_1,于是得到

  • N0=p2psN_0'=p_2\cdots p_s
  • N0=q2qtN_0'=q_2\cdots q_t

这就意味着 N0N_0' 至少有两种分解结果,这与“N0N_0 是分解结果不唯一的最小的整数”矛盾。至此,我们用反证法证明了分解结果的唯一性。

说明

本文所提供的证明方法是比较典型的证法(或者典型证法的变体),由于典型的证明方法很容易搜到,可以认为这些证法是公共知识,没有版权。