逐步主鏈
S01 · definition
操作前
a=\tfrac{33}{100},\ x=\tfrac{1}{3}操作後
e_{\mathrm{abs}}=|a-x|,\ e_{\mathrm{rel}}=\frac{|a-x|}{|x|}\ (x\neq 0),\ \text{within }\tau\iff |a-x|\le\tau條件:\tau\ge 0
規則:mko_error_def · 依賴:G1, G2
葉節點依據:mko_error_def + def_intro
依 MKO 寫出三個定義。絕對誤差保留原量的尺度;相對誤差只在 x≠0 時定義,把誤差和參照量比較;「在容許範圍內」用的是 ≤,所以等號成立時也算在內。
S02 · equivalent
操作前
a-x=\tfrac{33}{100}-\tfrac{1}{3}操作後
a-x=-\tfrac{1}{300}條件:100\neq 0,\ 3\neq 0
規則:frac_rules · 依賴:G1
葉節點依據:frac_rules + numeric_evaluation
通分到公分母 300 後相減,細節在 S02.1、S02.2。結果為負,表示近似值比參照值小。
S03 · equivalent
操作前
|a-x|=\left|-\tfrac{1}{300}\right|操作後
|a-x|=\tfrac{1}{300}條件:-\tfrac{1}{300}<0
規則:abs_rules · 依賴:S02
葉節點依據:abs_rules + neg_mul
因 −1/300<0,依絕對值定義 |u|=−u,得 1/300。這就是絕對誤差,單位與 x 相同。
S04 · implies
操作前
x=\tfrac{1}{3}操作後
x\neq 0,\ |x|=\tfrac{1}{3}條件:\tfrac{1}{3}>0
規則:abs_rules · 依賴:G1
葉節點依據:abs_rules + order_basics
1/3>0,所以 x≠0,且 |x|=x=1/3。這是 MKO 計算相對誤差的前提。
S05 · equivalent
操作前
e_{\mathrm{rel}}=\frac{1/300}{1/3}操作後
e_{\mathrm{rel}}=\tfrac{1}{100}條件:\tfrac{1}{3}\neq 0
規則:frac_rules · 依賴:S03, S04
葉節點依據:frac_rules + mul_inverse_nonzero
依 (a/b)/(c/d)=(ad)/(bc)(c≠0):(1·3)/(300·1)=3/300=1/100。相對誤差是無因次的比,也就是 1%。
S06 · equivalent
操作前
\tfrac{1}{300}\le\tfrac{1}{250}操作後
250\le 300\ (\text{true}),\ \text{so }a\ \text{within }\tau_1條件:300>0,\ 250>0
規則:frac_compare · 依賴:S03, G2
葉節點依據:frac_compare + order_basics
依分數比較,兩邊同乘正數 300·250:1/300≤1/250 ⇔ 1·250≤1·300,後者成立。所以 |a−x|≤τ₁,a 在容許誤差 τ₁ 之內。
S07 · equivalent
操作前
|a-x|\le\tau
操作後
x-\tau\le a\le x+\tau
條件:\tau\ge 0
規則:L_tol_interval · 依賴:L_tol_interval
葉節點依據:abs_rules + order_basics + case_analysis
依引理 L_tol_interval(在 S07.1 到 S07.3 分情況證明),誤差界等價於 a 位於含端點的區間 [x−τ, x+τ],這是 MKO 第二段的說法。庫中的 abs_rules 只給嚴格版 |u|<r,所以非嚴格版需要自己證明。
S08 · implies
操作前
[x-\tau_1,\ x+\tau_1]
操作後
\left[\tfrac{247}{750},\ \tfrac{253}{750}\right]\ni\tfrac{33}{100}條件:\tau_1\ge 0
規則:L_tol_interval · 依賴:S07, G1, G2, S06
葉節點依據:L_tol_interval + frac_compare + numeric_evaluation
第二條路線核對 S06:1/3−1/250=250/750−3/750=247/750,1/3+1/250=253/750。交叉相乘:33·750=24750≥247·100=24700,且 24750≤253·100=25300,所以 247/750≤33/100≤253/750。依 L_tol_interval,這與 |a−x|≤τ₁ 等價,與 S06 一致。
S09 · equivalent
操作前
\tfrac{1}{300}\le\tfrac{1}{400}\ ?操作後
400\le 300\ \text{false};\ \tfrac{1}{300}>\tfrac{1}{400};\ a\ \text{not within }\tau_2條件:300>0,\ 400>0
規則:frac_compare · 依賴:S03, G2
葉節點依據:frac_compare + order_basics
依分數比較,1/300≤1/400 ⇔ 400≤300,後者不成立,所以 |a−x|>τ₂,a 不在容許誤差 τ₂ 之內。分子同為 1 時,分母較大的分數較小。
S10 · implies
操作前
|a-x|=\tfrac{1}{300}=\tau_3操作後
|a-x|\le\tau_3,\ a=x-\tau_3\ \text{(left endpoint)}條件:\tau_3\ge 0
規則:mko_error_def · 依賴:S03, S07, G2
葉節點依據:mko_error_def + eq_refl_symm_trans + order_basics
τ₃=1/300 時 |a−x|=τ₃,而定義用 ≤,所以 a 在容許範圍內。事實上 x−τ₃=1/3−1/300=99/300=33/100=a,a 正好在左端點;MKO 說明端點包含在容許範圍。
S11 · implies
操作前
a'=330,\ x'=\tfrac{1000}{3}操作後
|a'-x'|=\tfrac{10}{3},\ \frac{|a'-x'|}{|x'|}=\tfrac{1}{100}條件:x'\neq 0
規則:mko_error_def · 依賴:G3, mko_error_def
葉節點依據:mko_error_def + frac_rules + abs_rules
330=990/3,所以 a′−x′=−10/3,絕對誤差 10/3;x′=1000/3≠0,相對誤差 (10/3)/(1000/3)=1/100。兩個量都放大 1000 倍後,絕對誤差也放大 1000 倍(10/3=1000·1/300),相對誤差不變。兩種誤差回答不同的問題。
S12 · implies
操作前
a_0=\tfrac{1}{1000},\ x_0=0操作後
|a_0-x_0|=\tfrac{1}{1000},\ \frac{|a_0-x_0|}{|x_0|}\ \text{undefined}條件:x_0=0
規則:mul_inverse_nonzero · 依賴:G4, mko_error_def
葉節點依據:mul_inverse_nonzero + abs_rules
絕對誤差照常計算:|1/1000−0|=1/1000。相對誤差要除以 |x₀|=0,而 0 沒有倒數,v/0 不定義,所以依 MKO 假設 a2 不計算相對誤差;不能把它寫成無限大或改用其他分母而不加說明。
S13 · implies
操作前
\text{error }\tfrac{1}{300}\ \text{for }0.33操作後
\text{rounding and truncation both give }\tfrac{33}{100};\ \text{source not determined by the value}條件:無
規則:mko_error_sources · 依賴:G1, G5, mko_error_sources
葉節點依據:mko_error_sources + frac_compare + numeric_evaluation
33/100≤1/3<34/100,且 1/3 到 33/100 的距離 1/300 小於到 34/100 的距離 2/300,所以四捨五入與截斷都給出 33/100,誤差同為 1/300。同一個誤差值可能來自兩種不同程序,所以誤差值本身不能告訴我們來源。對 2/3 兩者就不同:四捨五入得 67/100(誤差 1/300),截斷得 66/100(誤差 1/150)。
S14 · implies
操作前
\text{computed and proved facts}操作後
e_{\mathrm{abs}}=\tfrac{1}{300},\ e_{\mathrm{rel}}=\tfrac{1}{100};\ \text{within }\tau_1,\tau_3;\ \text{not within }\tau_2條件:無
規則:and_intro_elim · 依賴:S03, S05, S06, S09, S10, S12, S13
葉節點依據:and_intro_elim
合併結論:絕對誤差 1/300,相對誤差 1/100;在 τ₁ 與 τ₃(端點)之內,不在 τ₂ 之內;參照值為 0 時相對誤差沒有定義;誤差值不決定來源。
局部子步與引理
S02.1 · equivalent
操作前
\tfrac{33}{100},\ \tfrac{1}{3}操作後
\tfrac{99}{300},\ \tfrac{100}{300}條件:3\neq 0,\ 100\neq 0
規則:frac_rules · 依賴:G1
葉節點依據:frac_rules
依 a/b=(ak)/(bk)(k≠0):33/100 分子分母同乘 3 得 99/300;1/3 同乘 100 得 100/300。
S02.2 · equivalent
操作前
\tfrac{99}{300}-\tfrac{100}{300}操作後
-\tfrac{1}{300}條件:無
規則:frac_rules · 依賴:S02.1
葉節點依據:frac_rules + numeric_evaluation
同分母相減:(99−100)/300=−1/300。
S07.1 · equivalent
操作前
u\ge 0:\ |u|\le\tau
操作後
-\tau\le u\le\tau
條件:u\ge 0; \tau\ge 0
規則:abs_rules · 依賴:abs_rules
葉節點依據:abs_rules + order_basics
設 u=a−x 且 u≥0。此時 |u|=u,所以 |u|≤τ ⇔ u≤τ。而 −τ≤0≤u 自動成立(因 τ≥0),所以 u≤τ ⇔ −τ≤u≤τ。
S07.2 · equivalent
操作前
u<0:\ |u|\le\tau
操作後
-\tau\le u\le\tau
條件:u<0; \tau\ge 0
規則:abs_rules · 依賴:abs_rules
葉節點依據:abs_rules + order_basics + neg_mul
設 u<0。此時 |u|=−u,−u≤τ ⇔ −τ≤u(兩邊乘 −1 反轉不等號)。而 u<0≤τ 使 u≤τ 自動成立,所以 −u≤τ ⇔ −τ≤u≤τ。
S07.3 · equivalent
操作前
|a-x|\le\tau\iff -\tau\le a-x\le\tau
操作後
|a-x|\le\tau\iff x-\tau\le a\le x+\tau
條件:\tau\ge 0
規則:case_analysis · 依賴:S07.1, S07.2
葉節點依據:case_analysis + order_basics
u≥0 與 u<0 涵蓋所有實數(三分律),兩種情形都得到同一個等價,依分情況論證它對每個 u=a−x 成立。最後三邊同加 x 得 x−τ≤a≤x+τ。S07.1 到 S07.3 合起來證得引理 L_tol_interval。