逐步主鏈
S01 · definition
操作前
p\ \text{prime}操作後
2\le p\ \land\ \forall d\in\mathbb{N}\,(d\mid p\Rightarrow d=1\lor d=p)條件:無
規則:mko_prime_def · 依賴:G1, mko_prime_def
葉節點依據:mko_prime_def + def_unfold
依 MKO 的定義,質數要同時滿足兩個條件:p≥2,以及 p 沒有 1 與 p 以外的自然數因數。要否定只需其中一個條件失敗;要肯定則必須排除所有可能的非平凡因數。
S02 · implies
操作前
d\mid n,\ n>0
操作後
1\le d\le n
條件:n>0
規則:L_div_bound · 依賴:mko_dvd_def, L_div_bound
葉節點依據:mul_zero + order_basics + exists_elim
正數的因數夾在 1 與它自己之間:依引理 L_div_bound(S02.1、S02.2 證明)。這讓「列出所有因數」成為有限的工作。
S03 · implies
操作前
p=0,\ p=1
操作後
0,\ 1\ \text{not prime}條件:無
規則:mko_prime_def · 依賴:S01, S02, G3
葉節點依據:mko_prime_def + order_basics + mul_zero
2≤0 與 2≤1 都不成立,所以 0、1 都不是質數。值得注意:1 的因數依 S02 只有 1(1≤d≤1),所以 1 其實通過「因數只有 1 與自身」的條件,它被排除完全是因為 2≤p。0 則兩個條件都失敗:0=2·0,所以 2∣0 而 2∉{1,0}。
S04 · implies
操作前
p=2
操作後
2\ \text{prime}條件:無
規則:mko_prime_def · 依賴:S01, S02
葉節點依據:mko_prime_def + case_analysis + order_basics
2≥2。若 d∣2,依 S02 有 1≤d≤2,而 1 與 2 之間的自然數只有 1 與 2,所以 d=1 或 d=2。兩個條件都成立,2 是質數(N22 為獨立核對)。
S05 · implies
操作前
91=7\cdot 13
操作後
7\mid 91,\ 7\notin\{1,91\};\ 91\ \text{not prime}條件:無
規則:mko_prime_def · 依賴:S01, mko_dvd_def, G3
葉節點依據:mko_prime_def + exists_intro + numeric_evaluation
7·13=91(N1),所以 7∣91,見證是 13。7≠1、7≠91,因數條件失敗,91 不是質數;7 是合數見證(MKO 段落 2)。
S06 · implies
操作前
91\bmod 2=91\bmod 3=91\bmod 5=1
操作後
2,3,5\nmid 91,\ \text{yet}\ 91\ \text{is composite}條件:無
規則:rem_test · 依賴:S05, rem_test
葉節點依據:rem_test + numeric_evaluation
91 除以 2、3、5 的餘數都是 1(N2 到 N4),依 rem_test 它們都不整除 91。若只測這三個就宣稱 91 是質數,結論錯誤,因為 S05 已找到因數 7。在不完整的候選表中找不到因數,不能當作質數證明(MKO 段落 2)。
S07 · implies
操作前
d\mid 97,\ d\neq 1,\ d\neq 97
操作後
97=dk,\ 2\le d\le 96,\ k\ge 2
條件:無
規則:L_div_bound · 依賴:S01, S02, G3
葉節點依據:exists_elim + order_basics + case_analysis
97≥2 成立。為證因數條件,用反證:假設有 d∣97 且 d≠1、d≠97,取見證 97=dk。由 S02,1≤d≤97,再排除 1 與 97 得 2≤d≤96。又 k≥1(S02.1);若 k=1 則 d=97,已排除;所以 k≥2。
S08 · implies
操作前
97=dk,\ d\ge 2,\ k\ge 2
操作後
m=\min(d,k):\ 2\le m,\ m\mid 97,\ m^2\le 97
條件:d\ge 2; k\ge 2
規則:L_small_factor · 依賴:S07, L_small_factor
葉節點依據:order_basics + mul_comm + exists_intro
依引理 L_small_factor(S08.1、S08.2 證明),因數對中較小的 m 也整除 97,而且 m²≤97。這就是「只需檢查到平方根」的理由,而且用的是精確整數比較。
S09 · implies
操作前
m^2\le 97
操作後
2\le m\le 9
條件:無
規則:order_basics · 依賴:S08, G2
葉節點依據:order_basics + numeric_evaluation + contradiction
若 m≥10,則 m²≥100>97(N5),與 m²≤97 矛盾;所以 m≤9。而 9²=81≤97(N6),所以 9 是滿足 m²≤97 的最大整數。這裡用的是精確的整數平方比較,不是浮點 √97。
S10 · case_split
操作前
m\in\{2,3,4,5,6,7,8,9\}操作後
97\bmod m\in\{1,1,1,2,1,6,1,7\}\neq 0,\ \text{so}\ m\nmid 97條件:無
規則:rem_test · 依賴:S09, rem_test
葉節點依據:rem_test + case_analysis + numeric_evaluation
逐一計算 97 除以 m 的餘數:m=2 餘 1、3 餘 1、4 餘 1、5 餘 2、6 餘 1、7 餘 6、8 餘 1、9 餘 7(N7 到 N14)。沒有一個是 0,依 rem_test,2 到 9 都不整除 97。這與 S08、S09 的「存在 2≤m≤9 且 m∣97」矛盾。
S11 · implies
操作前
\text{assumption of S07 leads to a contradiction}操作後
\forall d\,(d\mid 97\Rightarrow d=1\lor d=97);\ 97\ \text{prime}條件:無
規則:contradiction · 依賴:S07, S10
葉節點依據:contradiction + quantifier_negation + mko_prime_def
S07 的假設「有 d∣97 且 d∉{1,97}」推出 S10 的矛盾,所以假設不成立:97 的每個因數都是 1 或 97。加上 97≥2,依定義 97 是質數。N15 以內建質數判定獨立核對。
S12 · implies
操作前
91,\ 9^2\le 91<10^2
操作後
\text{the complete search}\ 2\le m\le 9\ \text{finds}\ 7條件:無
規則:L_small_factor · 依賴:S05, S08, G2
葉節點依據:order_basics + rem_test + numeric_evaluation
同一個界套用到 91:9²=81≤91<100=10²(N18、N19),所以合數 91 必有 2 到 9 之間的因數;完整搜尋在 m=7 找到(91 除以 7 餘 0,N17),與 S05 一致。對照 S06:只測 2、3、5 是不完整的搜尋,才會漏掉 7。
S13 · implies
操作前
p=2j,\ p\ge 2,\ p\neq 2
操作後
2\mid p,\ 2\notin\{1,p\};\ p\ \text{not prime}條件:p\neq 2
規則:mko_prime_def · 依賴:S01, S04, mko_dvd_def
葉節點依據:mko_prime_def + exists_intro + forall_intro
偶數 p=2j 有因數 2(見證 j)。若 p≠2,則 2≠1 且 2≠p,因數條件失敗,p 不是質數。配合 S04,2 是唯一的偶質數(N21 對 4 到 120 的偶數做有限核對,只支持這些點)。
局部子步與引理
S02.1 · implies
操作前
n=dk,\ n>0
操作後
d\ge 1,\ k\ge 1
條件:n>0
規則:mul_zero · 依賴:mko_dvd_def, mul_zero
葉節點依據:mul_zero + contradiction
若 d=0 或 k=0,則 n=dk=0,與 n>0 矛盾。所以 d≠0、k≠0;自然數非零即至少為 1。
S02.2 · implies
操作前
k\ge 1,\ d\ge 0
操作後
n=dk\ge d\cdot 1=d
條件:無
規則:order_basics · 依賴:S02.1, order_basics
葉節點依據:order_basics + mul_one
k≥1 且 d≥0,所以 dk≥d·1=d,即 d≤n。S02.1 與 S02.2 合起來證得引理 L_div_bound。
S08.1 · implies
操作前
n=dk
操作後
d\mid n,\ k\mid n,\ \text{so}\ m\mid n條件:無
規則:exists_intro · 依賴:mko_dvd_def, mul_comm
葉節點依據:exists_intro + mul_comm + case_analysis
n=d·k 給 d∣n(見證 k);由交換律 n=k·d 給 k∣n(見證 d)。m 是 d 或 k 其中之一,所以 m∣n;又 d、k≥2,故 m≥2。
S08.2 · implies
操作前
m\le d,\ m\le k,\ m\ge 0
操作後
m^2=m\cdot m\le d\cdot m\le d\cdot k=n
條件:無
規則:order_basics · 依賴:order_basics
葉節點依據:order_basics + mul_comm
m≤d 兩邊乘非負的 m 得 m·m≤d·m;m≤k 兩邊乘非負的 d 得 d·m≤d·k。串接得 m²≤n。S08.1 與 S08.2 合起來證得引理 L_small_factor。