逐步主鏈
S01 · definition
操作前
\text{linear program with supplied candidates}操作後
\max L(x,y)=x+y\ \text{s.t.}\ C_1,C_2,C_3,C_4;\ K=\{P_1,P_2,P_3,P_4,P_5,P_6,P_7\}條件:無
規則:mko_lp · 依賴:G1, G2, G3, mko_lp
葉節點依據:mko_lp + def_intro
依 MKO,線性規劃由線性目標與線性限制組成。這裡有兩個不同的集合:明示的候選集合 K(七個點)與連續可行域 F_ℝ。S02 到 S11 只在 K 上工作,結論稱為「所給候選中的最佳」;S12 到 S15 才討論 F_ℝ。
S02 · equivalent
操作前
P\in F_K
操作後
P\in K\ \land\ C_1(P)\land C_2(P)\land C_3(P)\land C_4(P)
條件:無
規則:def_unfold · 依賴:S01, G1, set_builder
葉節點依據:set_builder + def_unfold + and_intro_elim
可行候選的定義:候選 P 可行,當且僅當四條限制全部成立。這是合取:先逐限制核對,再只在可行候選間比較目標值(MKO 第一段)。限制是「≤」,所以等號成立也算滿足。
S03 · equivalent
操作前
C_1,C_2,C_3,C_4\ \text{at}\ P_1,\ P_2,\ P_3,\ P_4,\ P_5,\ P_6,\ P_7操作後
\text{table of left-hand sides}條件:無
規則:numeric_evaluation · 依賴:G1, G2
葉節點依據:numeric_evaluation
把每個候選代入每條限制的左邊,分三個子步:C1、C2、以及符號限制 C3、C4。
S04 · implies
操作前
P_1,\ P_2,\ P_3,\ P_4,\ P_5
操作後
C_1\land C_2\land C_3\land C_4\ \text{hold}條件:無
規則:and_intro_elim · 依賴:S02, S03.1, S03.2, S03.3
葉節點依據:and_intro_elim + order_basics
P1 到 P5 的 C1 值 0、12、11、10、6 都 ≤12,C2 值 0、4、5、6、6 都 ≤6,C3、C4 也成立。四條全部成立,所以這五點可行。P2 使 C1 取等號,P4、P5 使 C2 取等號;等號仍屬可行。
S05 · implies
操作前
P_6=(4,1),\ P_7=(3,2)
操作後
P_6,P_7\notin F_K
條件:無
規則:de_morgan_logic · 依賴:S02, S03.1, S03.2
葉節點依據:de_morgan_logic + order_basics
否定合取只需一項失敗:P6 的 C1 值 14>12;P7 的 C1 值 13>12(C2 值 7>6 也失敗)。所以 P6、P7 不可行,不參加目標值比較。
S06 · equivalent
操作前
F_K=\{P\in K\mid C_1\land C_2\land C_3\land C_4\}操作後
F_K=\{P_1,P_2,P_3,P_4,P_5\}條件:無
規則:set_extensionality · 依賴:S04, S05, G2
葉節點依據:set_extensionality + case_analysis
K 的七個元素都已判定:P1 到 P5 可行(S04),P6、P7 不可行(S05)。所以可行候選集合恰為 {P1,P2,P3,P4,P5}。
S07 · equivalent
操作前
L(P_1),\ L(P_2),\ L(P_3),\ L(P_4),\ L(P_5)
操作後
0,\ 4,\ 4,\ 4,\ 3
條件:無
規則:numeric_evaluation · 依賴:S06, G1
葉節點依據:numeric_evaluation
只對可行候選計算目標值:L(0,0)=0,L(4,0)=4,L(3,1)=4,L(2,2)=4,L(0,3)=3。
S08 · implies
操作前
\max_{P\in F_K}L(P)操作後
4
條件:F_K\neq\varnothing
規則:mko_opt · 依賴:S07, mko_opt
葉節點依據:mko_opt + order_basics + finite_counting_basics
依最大化的定義,要找可行點 P*,使每個可行 P 都有 L(P)≤L(P*)。值 4 被 P2 達成,且 0、4、4、4、3 每個都 ≤4;所以候選中的最大值為 4。F_K 是非空有限集,最大值必存在。
S09 · equivalent
操作前
\arg\max_{P\in F_K}L(P)操作後
\{P_2,P_3,P_4\}條件:無
規則:mko_opt · 依賴:S07, S08, mko_opt
葉節點依據:mko_opt + set_builder + numeric_evaluation
達到最大值 4 的可行候選是 P2、P3、P4,三者平手;P1(0)與 P5(3)沒有達到。依 MKO,argmax 應保留全部平手的點,不能只報其中一個。
S10 · implies
操作前
L(P_6)=5,\ L(P_7)=5
操作後
5>4\ \text{but}\ P_6,P_7\notin F_K條件:無
規則:mko_opt · 依賴:S05, S08, G1
葉節點依據:mko_opt + numeric_evaluation
P6、P7 的目標值都是 5,比 4 大,但它們不可行(S05),所以不在比較範圍內,不影響最大值。若把它們算進來,就會錯把 5 當作最優值,這正是 MKO 指出的誤解之一。
S11 · implies
操作前
\max_{F_K}L=4,\ \arg\max=\{P_2,P_3,P_4\}操作後
\text{best among the supplied candidates only}條件:無
規則:mko_lp · 依賴:S08, S09, mko_lp
葉節點依據:mko_lp
依 MKO,沒有證明候選表完整涵蓋可行域,結論只能稱為「所給候選中的最佳」。到目前為止,沒有任何步驟討論 F_ℝ 中不在 K 裡的點。
S12 · implies
操作前
Q=(3,\tfrac{3}{2})操作後
Q\in F_{\mathbb{R}},\ L(Q)=\tfrac{9}{2}>4條件:無
規則:numeric_evaluation · 依賴:G1, G3, S08
葉節點依據:numeric_evaluation + order_basics + exists_intro
取候選表外的點 Q=(3,3/2):C1:3·3+2·(3/2)=12≤12;C2:3+2·(3/2)=6≤6;坐標非負,C3、C4 成立。所以 Q∈F_ℝ,且 L(Q)=3+3/2=9/2>4。因此候選中的最佳值 4 不是連續可行域上的最大值。
S13 · implies
操作前
(x,y)\in F_{\mathbb{R}}操作後
x+y\le\tfrac{9}{2}條件:無
規則:order_basics · 依賴:G1, G3
葉節點依據:order_basics + distributive + frac_rules
不等式證書:以非負權重 1/4、1/4 合併 C1 與 C2,對每個可行點得到 x+y≤9/2。分兩個子步:一個恆等式與一次不等式相加。這是對 F_ℝ 中所有點的證明,不是取樣。
S14 · implies
操作前
Q\in F_{\mathbb{R}},\ L(Q)=\tfrac{9}{2},\ \forall P\in F_{\mathbb{R}}:\ L(P)\le\tfrac{9}{2}操作後
\max_{F_{\mathbb{R}}}L=\tfrac{9}{2}條件:無
規則:mko_opt · 依賴:S12, S13
葉節點依據:mko_opt + and_intro_elim
最大值的兩個條件都成立:9/2 被可行點 Q 達成(S12),且每個可行點的值都 ≤9/2(S13)。所以連續可行域上的最大值是 9/2,比候選中的最佳 4 大。
S15 · implies
操作前
x+y=\tfrac{9}{2},\ (x,y)\in F_{\mathbb{R}}操作後
(x,y)=(3,\tfrac{3}{2})條件:無
規則:order_basics · 依賴:S13.1, S13.2, S14, G1
葉節點依據:order_basics + eq_congruence + numeric_evaluation
若 x+y=9/2,則 S13.2 中兩個不等式都必須取等號:若任一嚴格小於,和就嚴格小於 9/2。所以 3x+2y=12 且 x+2y=6;相減得 2x=6,x=3,再得 y=3/2。因此連續最大值只在 Q 達成;它不在候選表中,候選中的三個平手點都只有 4。
局部子步與引理
S03.1 · equivalent
操作前
3x+2y\ \text{at}\ P_1,\ P_2,\ P_3,\ P_4,\ P_5,\ P_6,\ P_7操作後
0,\ 12,\ 11,\ 10,\ 6,\ 14,\ 13
條件:無
規則:numeric_evaluation · 依賴:G1, G2
葉節點依據:numeric_evaluation + order_basics
3·0+2·0=0,3·4+2·0=12,3·3+2·1=11,3·2+2·2=10,3·0+2·3=6,3·4+2·1=14,3·3+2·2=13。與上界 12 比較:前五個 ≤12,P6 的 14 與 P7 的 13 >12。
S03.2 · equivalent
操作前
x+2y\ \text{at}\ P_1,\ P_2,\ P_3,\ P_4,\ P_5,\ P_6,\ P_7操作後
0,\ 4,\ 5,\ 6,\ 6,\ 6,\ 7
條件:無
規則:numeric_evaluation · 依賴:G1, G2
葉節點依據:numeric_evaluation + order_basics
0+0=0,4+0=4,3+2=5,2+4=6,0+6=6,4+2=6,3+4=7。與上界 6 比較:P1 至 P6 都 ≤6(P4、P5、P6 取等號),P7 的 7>6。
S03.3 · equivalent
操作前
-x\le 0,\ -y\le 0\ \text{at all}\ P_i操作後
\text{true for all seven}條件:無
規則:order_basics · 依賴:G1, G2
葉節點依據:order_basics
七個候選的坐標都是 0 到 4 的非負整數;對非負數 u,−u≤0。所以 C3、C4 對全部候選成立,可行性只由 C1、C2 決定。
S13.1 · equivalent
操作前
x+y
操作後
\tfrac{1}{4}(3x+2y)+\tfrac{1}{4}(x+2y)條件:無
規則:distributive · 依賴:distributive, frac_rules
葉節點依據:distributive + add_assoc + add_comm + frac_rules
展開右邊:(1/4)(3x+2y)+(1/4)(x+2y)=(1/4)(4x+4y)=x+y。這是對所有實數 x、y 成立的恆等式(N11)。
S13.2 · implies
操作前
3x+2y\le 12,\ x+2y\le 6
操作後
\tfrac{1}{4}(3x+2y)+\tfrac{1}{4}(x+2y)\le\tfrac{12}{4}+\tfrac{6}{4}=\tfrac{9}{2}條件:\tfrac{1}{4}>0
規則:order_basics · 依賴:S13.1, G1, order_basics
葉節點依據:order_basics + frac_rules + numeric_evaluation
C1 兩邊乘正數 1/4,不等號方向不變:(1/4)(3x+2y)≤3;C2 同理:(1/4)(x+2y)≤3/2。兩個不等式相加(u1≤v1 且 u2≤v2 推出 u1+u2≤v1+u2≤v1+v2)得和 ≤9/2;再由 S13.1,x+y≤9/2。若權重取負,乘法會反轉不等號,相加就不成立。