min ≥ ⊂ ⇓
数学之旅 · CHAPTER 02

良序原理

The Well Ordering Principle

"每个非空的非负整数集合,都有一个最小元素。"这句话听着像废话,却是离散数学里最锋利的证明武器:最小反例法。这一章你会开动无限下降机、经营素因数分解流水线,还要亲手拆穿两个假证明。

⏱ 约 35 分钟🧩 7 个互动装置⚖️ 终局自测 × 6📖 原书第 29–44 页
2.0

开场:两个"紧绷"的条件

Nonempty · Nonnegative integers
良序原理 WELL ORDERING PRINCIPLE

每个非空的非负整数集合,都有一个最小元素。

像不像废话?但注意它是绷得有多紧:缺一个词就塌。

去掉"非空":空集没有元素,当然没有最小元素——"空集对所有元素都成立"这种空洞的真救不了它。

把"非负整数"换成别的:负整数全体(…<−2<−1)没有最小元素;正有理数全体也没有(1, 1/2, 1/3, … 一路下滑看不到底)。所以良序原理抓住的是非负整数这个集合的特殊品格。

你觉得它显然?很好——原书也承认它显然。但"显然"的命题配不上证明资源,可以当公理用,而它的用处大得惊人。先来试试你的手感:

互动 ①

🪨 良序试金石

六个数字集合,逐一判断:它有最小元素吗?它是良序集吗(每个非空子集都有最小元)?

进度 0 / 6
💡
注意第 4 张卡:"有最小元素" ≠ "良序"。有理数 ≥ √2 有最小元素(就是 √2 自己),但它的子集 √2+1, √2+1/2, √2+1/3, … 没有最小元素。良序是对一切非空子集的刚性要求。
2.1

良序证明:其实你早就在用

Well Ordering Proofs

第一章证 √2 无理时,我们随手写了"设 √2 = n/d 为最简分数"——凭什么分数总能约成最简?原书现在补上这张欠条:反设存在正整数 m, n 使 m/n 不能写成最简分数。令 C 为这类分数的分子集合——C 是非负整数的非空集合,由良序原理必有最小分子 m₀。但 m₀/n₀ 的分子分母必有公素因子 p,于是 (m₀/p)/(n₀/p) = m₀/n₀ 依然不能约成最简——而它的分子 m₀/p < m₀,比"最小"还小,矛盾。

🔍
看清这个证明的骨架:想证"没有反例" → 反设反例存在 → 反例集是非空整数集 → 揪出最小反例 → 由"最小"榨出矛盾。整章就这一招,变化全在"怎么榨"。
2.2

良序证明模板

Template for Well Ordering Proofs

要证命题 P(n) 对所有非负整数 n 成立,原书给出标准模板。顺序打乱放在下面——你先把证明的骨架搭出来:

互动 ②

🧩 模板拼图:搭出最小反例证明的骨架

按正确顺序点击五个步骤,搭错一步会提示。

2.2.1实战:整数求和公式

定理 THEOREM 2.2.1

1 + 2 + 3 + ⋯ + n = n(n+1)/2   对所有非负整数 n

动手之前先排雷:三个点的省略号记号会撒谎。n = 1 时左边只有一项(就是 1);n = 0 时左边一项都没有,按约定空和为 0。换用求和记号 Σ 写就一目了然:Σᵢ₌₁ⁿ i。约定:空和为 0,空积为 1。

下面按模板把这证明一步步走出来——两道关卡照例不许跳:

互动 ③

🏛️ 良序审判庭:求和公式案(步进 + 两道关卡)

矛盾!反例集 C 必为空 —— 定理对所有非负整数 n 成立。∎
2.3

分解成素数

Factoring into Primes

小学就背过:每个大于 1 的整数都能唯一分解成素数乘积(算术基本定理)。"唯一"那半句要到后面章节才证;"存在"这半句,良序原理一步拿下:

定理 THEOREM 2.3.1

每个大于 1 的整数都可以分解成素数的乘积。

证明骨架

反设 C = "不能分解成素数乘积的整数"非空。取最小元 n:
• n 不能是素数——素数自己就是"长度为 1 的素数乘积";
• 所以 n = a × b,其中 1 < a, b < n;
• a, b 比最小反例还小,所以都能分解:n = p₁p₂⋯p_k · q₁q₂⋯q_l;
• 但这样 n 就能分解了——与 n ∈ C 矛盾。■

光读不过瘾?开一条分解流水线,随便挑个数扔进去:

互动 ④

🏭 素因数分解流水线

输入 2 ~ 99999 之间的整数(或拖滑块)。机器每次揪出最小素因子、把剩下的丢回流水线——因子一路变小,良序原理保证它必然停机。

试试 97(素数)、1024、6469
成品袋(素因子)
等待投料……
⚙️
为什么必然停机?余数序列 360 > 180 > 90 > … 是非负整数的严格递减序列——若机器永不停机,这些余数构成一个没有最小元素的 collection,违反良序。"每步变小 ⇒ 必然结束"这个直觉,正是 2.4 节要形式化的良序杀手锏(第 6 章将用它证明程序终止)。
2.4

良序集

Well Ordered Sets

良序不只属于非负整数。称一个数集良序(well ordered),当它每个非空子集都有最小元素。两个立刻能用的推论:

推论 2.4.3 / 2.4.4

任何有下界的整数集都是良序的;任何有上界的非空整数集都有最大元素。

原书还给了一个长得完全不同的良序集:𝔽 = { n/(n+1) },即 0/1, 1/2, 2/3, 3/4, …——它是良序的(任何非空子集的最小元就是那个分子最小的分数)。再把非负整数逐个加到 𝔽 的数上,得 ℕ + 𝔽,它仍是良序集(引理 2.4.5)。怪就怪在:𝔽 里每个元素只比有限个数大,但 ℕ+𝔽 中每个不小于 1 的元素都能充当任意长度递减链的开头——像 1 > 3/4 > 2/3 > 1/2 > 0 这样,还能不断加长——只是永远排不出无限的一条。原书第 43 页的问题 2.22 把这层窗户纸捅破:良序 ⟺ 不存在无限递减序列。

这就有了本章的主角级玩具。选一个集合,发动无限下降机,看你能降多深:

互动 ⑤

♾️ 无限下降机

目标:在所选集合里造一条严格递减链 r₀ > r₁ > r₂ > …… 链越长越好。有的集合会让你赢(这恰恰说明它不良序),有的必然卡死(这说明它良序)。

选好集合,从起点开始降。
判据(问题 2.22):良序 ⟺ 不存在无限递减序列。
所以"你能不能永远降下去"就是良序与否的可玩判据——这台机器就是良序试金石的动态版。
🖥️
计算机科学视角(原书原话转译):想证一个计算不会永远跑下去?给计算的每一步赋一个"分值",让分值每步严格变小、且全体分值落在一个良序集里——若计算永不停止,这些分值就构成一个没有最小元的子集,违反良序。第 6 章将用这招证明各种状态机必然终止。
🐛

假证明诊所

Bogus Proofs

本章习题自带两桩悬案,都是"WOP 用错了姿势"的典型。照旧:点出第一次犯规的位置。

互动 ⑥

🐛 悬案一:每个斐波那契数都是偶数?

F(0)=0, F(1)=1, F(n)=F(n−1)+F(n−2)。下面 12 步"证明"结论显然荒谬(F(1)=1 是奇数),点出第一处出错的步骤。

互动 ⑦

🐛 悬案二:正有理数都能写成最简分数?

结论明明是对的(第一章证 √2 时还用过),但这个证明偷了懒。三句话里,哪一句第一次做出无根据的推断?

⚖️

终局自测

Final Check

六题,覆盖全章。答错不扣分,每题都有讲解。

🥚

彩蛋与课后挑战

Easter Eggs & Problems
邮票问题三连(原书习题 2.7 / 2.13 / 2.18)

良序模板的最佳练手场是"邮票/硬币可凑性":

  • 2.7 任何 ≥ 8 的整数都能表示成 3 和 5 的非负倍数之和。(基例 8=3+5, 9=3+3+3, 10=5+5;反例 m 最小则 m−3 可凑 ⇒ m 可凑,矛盾。其中 m ≥ 11 的隐含假设正是原书考点 2.12!)
  • 2.13 用 6¢、14¢、21¢ 邮票能凑出 50¢ 以上任何金额(允许“50¢…100¢ 皆可凑”作免证假设)。原书 2.13(b) 让你证“49¢ 恰好凑不出”——注意这其实是原书自身的勘误:49 = 14×2 + 21 可以凑出,真正凑不出的最大值是 43¢。
  • 2.18 用 6¢ 和 15¢:3 的倍数且 ≥ 12 的金额都可凑。
Lehman 方程(原书习题 2.9)—— 欧拉猜想的续集

第一章刚送走过欧拉的四次方猜想(挺了 218 年被一个反例杀死)。这里是他同款思路的"安全版":证明 8a⁴ + 4b⁴ + 2c⁴ = d⁴ 没有正整数解。提示:在所有解里取 a 最小的那个,看等式两边被 2 整除的次数(2-进赋值)——两边奇偶性对不上,"最小 a"立刻掉进更小的反例。

Mini-Tetris 与 n ≤ 3n/3(原书习题 2.11 / 2.10)

2.11:用三种积木铺满 2×n 棋盘的铺法数恰为 T_n = (2^{n+1} + (−1)^n)/3——先用 WOP 证 T_n 满足递推 T_n = T_{n−1} + 2T_{n−2}(n > 2,分类讨论最后一列怎么铺),再验证闭式。
2.10:证 n ≤ 3^{n/3} 对所有非负整数 n(提示:先手工验证 n ≤ 4,再对最小反例 n ≥ 5 玩"更小反例"把戏:3^{(n)/3} = 3 · 3^{(n−3)/3} ≥ 3(n−3) ≥ n)。

更深一钓:良序 ⟺ 没有无限递减序列(原书习题 2.22)

互动 ⑤ 的理论底座。一个实数集 R 良序,当且仅当 R 中不存在 r₀ > r₁ > r₂ > ⋯ 这样的无限严格递减序列。(⇐ 方向:若有非空子集 S 无最小元,就能从任一元素出发不断挑出更小的,手工"制造"出无限递减序列。)这条等价让"程序每步变小必停机"从直觉升级为定理——第 6 章状态机终止性的地基。

本章路线图
2.0 · 两个紧绷条件2.1 · 良序证明2.2 · 证明模板 2.3 · 分解成素数2.4 · 良序集🐛 · 假证明诊所 ⚖️ · 终局自测🥚 · 彩蛋与挑战