歐氏距離公式:計算距離、拒絕負根並以平方比較

本頁導覽
  1. 目標與範圍
  2. 已知條件與符號
  3. 規則與來源
  4. 逐步主鏈
  5. 局部子步與引理
  6. 逐步反向審查
  7. 錯誤控制與反例
  8. 結論與限制
  9. 驗證及來源綁定

← 導讀目錄 · 原始 MKO

derivation-mko-distance-formula-01 · production-20261019-adopted-96

目標與範圍

在同一個等單位正交座標系中,設 P=(1,2)、Q=(4,6)、R=(6,−1)。求 d(P,Q),並說明候選值 −5 為何不是距離;求 d(P,R) 的精確形式並判定它不是整數;以平方比較 d(P,Q) 與 d(P,R);最後核對重合點的距離為零,以及距離與兩點的書寫順序無關。

只在 MKO 的範圍內工作:平面、兩點位於同一個兩軸同單位的正交座標系、整數座標。完整證明「兩個非負量可用平方比較」的引理;不證明三角不等式或 d 是度量,不處理斜交或不等尺度的框架(只在錯誤控制中說明差異),也不建立 Lean 的 EuclideanSpace 橋接;不改動 canonical MKO 或英文 edition。

已知條件與符號

  • numeric_evaluation
  • power_laws
  • square_nonneg
  • sqrt_def
  • order_basics
  • G1 — 框架:所有點的座標都取自同一個正交座標系,兩軸採同一長度單位(MKO 假設 a1)。
  • G2 — P=(1,2)、Q=(4,6)、R=(6,−1),座標為整數(MKO 假設 a2)。
  • G3 — 有人提出候選值 c=−5 作為 d(P,Q),理由是 (−5)²=25。
  • d(P,Q) — P 與 Q 的歐氏距離
  • (p_x,p_y),\ (q_x,q_y) — P、Q 在同一框架中的座標
  • Q-P — 逐坐標相減得到的座標差
  • \sqrt{a} — a≥0 的主平方根(非負)
  • a,b — 引理中的兩個非負實數

規則與來源

  • numeric_evaluation · prerequisite — 明確整數或有理數算式的精確求值;可以獨立重算。
  • power_laws · prerequisite — 整數指數律(底數非零或指數為正整數):a^m·a^n=a^{m+n},(a^m)^n=a^{mn},(ab)^n=a^n b^n,a^0=1。
  • square_nonneg · prerequisite — 實數平方非負:對所有實數 u,u²≥0,且 u²=0 ⇔ u=0。
  • sqrt_def · prerequisite — 主平方根:對 a≥0,√a 是唯一滿足 b≥0 且 b²=a 的實數 b。負數在實數中沒有平方根。
  • order_basics · prerequisite — 實數的序:任兩數恰有 u<v、u=v、u>v 之一;u<v 且 v<w 推出 u<w;u<v 推出 u+w<v+w;u<v 且 w>0 推出 uw<vw;u<v 且 w<0 推出 uw>vw。
  • def_unfold · prerequisite — 展開定義:把一個已定義的詞換成它的定義內容(或反向收回),命題的真假不變。
  • add_inverse · prerequisite — 加法反元素:每個 u 都有 −u,使 u+(−u)=0;u−v 定義為 u+(−v)。
  • eq_replace · prerequisite — 等值代換:命題中的一個式子可換成與它相等的式子,命題的真假不變。
  • neg_mul · prerequisite — 負號與乘法:(−u)v=−(uv),(−u)(−v)=uv。
  • distributive · prerequisite — 分配律:u(v+w)=uv+uw;配合乘法交換律也有 (v+w)u=vu+wu。
  • mul_zero · prerequisite — 乘以零:u·0=0。理由:u·0=u·(0+0)=u·0+u·0,兩邊同減 u·0 得 0=u·0。
  • contradiction · prerequisite — 反證法:若假設 ¬P 推出矛盾(某命題與其否定同時成立),則 P 成立。
  • eq_congruence · prerequisite — 等式同用:若 u=v,對兩邊做同一個有定義的運算 f,得 f(u)=f(v)。只對一邊做運算不屬於此規則。
  • case_analysis · prerequisite — 分情況論證:若 P∨Q 成立,且 P⇒R、Q⇒R 都已證,則 R 成立。所有情況必須涵蓋全部可能。
  • and_intro_elim · prerequisite — 合取:由 P 與 Q 得 P∧Q;由 P∧Q 可分別得 P 與 Q。
  • mko_distance_def · cited — 在平面同一等單位正交座標系,P=(px,py)、Q=(qx,qy) 的歐氏距離為 d(P,Q)=√((qx−px)²+(qy−py)²)≥0。距離平方是兩個座標差平方之和;比較兩個距離可比較其非負平方值。 · mko-distance-formula
  • L_sq_order · lemma — 對實數 a≥0、b≥0:a<b ⇔ a²<b²。

逐步主鏈

S01 · definition

操作前

d(P,Q),\ P=(p_x,p_y),\ Q=(q_x,q_y)

操作後

d(P,Q)=\sqrt{(q_x-p_x)^2+(q_y-p_y)^2}

條件:P,Q\ \text{in one orthonormal equal-unit frame}

規則:mko_distance_def · 依賴:G1

葉節點依據:mko_distance_def + def_unfold

先寫出 MKO 的定義。公式只在 G1 的框架中代表歐氏距離:兩軸互相垂直,而且使用同一長度單位。做法是座標差先平方、再相加,最後取主平方根。

S02 · implies

操作前

(q_x-p_x)^2+(q_y-p_y)^2

操作後

(q_x-p_x)^2+(q_y-p_y)^2\ge 0,\ \ d(P,Q)\ge 0

條件:無

規則:square_nonneg · 依賴:S01, square_nonneg

葉節點依據:square_nonneg + order_basics + sqrt_def

兩個平方各自 ≥0(square_nonneg),兩個非負數之和仍 ≥0(order_basics:由 0≤u 得 0+v≤u+v,再用 0≤v)。所以根號內的數非負,主平方根有定義;依 sqrt_def,主平方根本身 ≥0。因此對任何兩點,d(P,Q) 都有定義而且非負。

S03 · equivalent

操作前

Q-P

操作後

(4-1,\ 6-2)=(3,4)

條件:無

規則:numeric_evaluation · 依賴:S01, G2

葉節點依據:numeric_evaluation + add_inverse

代入 P=(1,2)、Q=(4,6),逐坐標相減:4−1=3、6−2=4。兩個座標差都取自同一框架(G1),所以可以放進同一個公式。

S04 · equivalent

操作前

(q_x-p_x)^2+(q_y-p_y)^2

操作後

3^2+4^2=9+16=25

條件:無

規則:numeric_evaluation · 依賴:S03

葉節點依據:numeric_evaluation + power_laws

把 S03 的差代入根號內:3²=3·3=9,4²=4·4=16,相加得 25。這就是 d(P,Q)²(MKO:距離平方是座標差平方之和)。

S05 · equivalent

操作前

d(P,Q)=\sqrt{25}

操作後

d(P,Q)=5

條件:25\ge 0

規則:sqrt_def · 依賴:S01, S04, sqrt_def

葉節點依據:sqrt_def + eq_replace

由 S01、S04,d(P,Q)=√25。依 sqrt_def,√25 是唯一滿足 b≥0 且 b²=25 的實數 b;S05.1 檢查 5 滿足這兩個條件,S05.2 用唯一性得 √25=5。

S06 · implies

操作前

c=-5,\ c^2=25

操作後

c\neq d(P,Q)

條件:無

規則:sqrt_def · 依賴:G3, S05

葉節點依據:sqrt_def + neg_mul + numeric_evaluation

候選值 −5 的平方確實是 (−5)(−5)=25(neg_mul),但 −5<0,不滿足 sqrt_def 的非負條件;而且 S05 已得 d(P,Q)=5,而 −5≠5。所以 −5 不是 d(P,Q)。這正是 MKO 指出的誤解:平方正確不足以成為距離(假設 a3)。

S07 · equivalent

操作前

R-P

操作後

(6-1,\ -1-2)=(5,-3)

條件:無

規則:numeric_evaluation · 依賴:S01, G2

葉節點依據:numeric_evaluation + add_inverse

對 P=(1,2)、R=(6,−1) 逐坐標相減:6−1=5,−1−2=−3。座標差可以是負數;下一步平方後符號消失。

S08 · equivalent

操作前

d(P,R)=\sqrt{5^2+(-3)^2}

操作後

d(P,R)=\sqrt{34},\ \ d(P,R)^2=34

條件:34\ge 0

規則:numeric_evaluation · 依賴:S07, sqrt_def

葉節點依據:numeric_evaluation + neg_mul + sqrt_def

5²=25,(−3)²=(−3)(−3)=9(neg_mul),和為 34,所以 d(P,R)=√34。34≥0,依 sqrt_def,(√34)²=34,即 d(P,R)²=34。

S09 · theorem_application

操作前

d(P,Q)^2=25,\ d(P,R)^2=34,\ 25<34

操作後

d(P,Q)<d(P,R)

條件:d(P,Q)\ge 0; d(P,R)\ge 0

規則:L_sq_order · 依賴:S02, S04, S05, S08, L_sq_order

葉節點依據:L_sq_order + numeric_evaluation

依 S02 兩個距離都非負,所以可用引理 L_sq_order(a=d(P,Q)、b=d(P,R)):25<34 推出 d(P,Q)<d(P,R)。這正是 MKO 說的「比較兩個距離可比較其非負平方值」;不需要求出 √34 的小數。引理在 S09.1、S09.2 證明。

S10 · implies

操作前

5^2=25<34<36=6^2

操作後

5<\sqrt{34}<6,\ \ \sqrt{34}\notin\mathbb{Z}

條件:5\ge 0; \sqrt{34}\ge 0; 6\ge 0

規則:L_sq_order · 依賴:S08, S09, L_sq_order, sqrt_def

葉節點依據:L_sq_order + sqrt_def + order_basics + numeric_evaluation

5、√34、6 都非負(√34≥0 由 sqrt_def),它們的平方 25、34、36 滿足 25<34<36。用 L_sq_order 兩次得 5<√34<6。5 與 6 之間沒有整數,所以 √34 不是整數;這符合 MKO 假設 a2:要得到整數距離,平方和必須是完全平方,而 34 不是。答案以精確形式 √34 保存,不以浮點值冒充精確值。

S11 · equivalent

操作前

d(P,P)

操作後

\sqrt{0^2+0^2}=\sqrt{0}=0

條件:無

規則:sqrt_def · 依賴:S01, S02, G2

葉節點依據:sqrt_def + numeric_evaluation

對重合點,座標差是 1−1=0 與 2−2=0,根號內為 0。0≥0 且 0²=0,依 sqrt_def 的唯一性 √0=0。所以重合點的距離是 0,這是合法的距離值(假設 a3),不是錯誤。

S12 · equivalent

操作前

(p_x-q_x)^2+(p_y-q_y)^2

操作後

(q_x-p_x)^2+(q_y-p_y)^2

條件:無

規則:neg_mul · 依賴:S01, neg_mul

葉節點依據:neg_mul + add_inverse + eq_replace

p_x−q_x=−(q_x−p_x),依 neg_mul,(−u)(−u)=uu,所以 (p_x−q_x)²=(q_x−p_x)²;y 坐標同理。兩個根號內的數相同,所以 d(Q,P)=d(P,Q)。例如 d(Q,P)²=(1−4)²+(2−6)²=9+16=25。依 MKO 第二段,交換兩點不構成新的計算。

S13 · implies

操作前

\text{tasks of the goal}

操作後

d(P,Q)=5,\ d(P,R)=\sqrt{34},\ 5<\sqrt{34}<6,\ -5\neq d(P,Q)

條件:無

規則:and_intro_elim · 依賴:S05, S06, S08, S09, S10, S11, S12

葉節點依據:and_intro_elim

把各步結論合併:d(P,Q)=5(S05),−5 被拒絕(S06),d(P,R)=√34 不是整數且介於 5 與 6 之間(S08、S10),d(P,Q)<d(P,R)(S09),重合點距離為 0(S11),距離與順序無關(S12)。

局部子步與引理

S05.1 · implies

操作前

b=5

操作後

b\ge 0\ \land\ b^2=25

條件:無

規則:numeric_evaluation · 依賴:numeric_evaluation

葉節點依據:numeric_evaluation + order_basics

5>0,所以 5≥0;5²=5·5=25。這兩項正是 sqrt_def 對 √25 的兩個要求。

S05.2 · implies

操作前

5\ge 0,\ 5^2=25

操作後

\sqrt{25}=5

條件:無

規則:sqrt_def · 依賴:S05.1, sqrt_def

葉節點依據:sqrt_def

sqrt_def 說滿足 b≥0 且 b²=25 的實數恰有一個,記為 √25。S05.1 顯示 5 是這樣的數,所以 √25=5。

S09.1 · implies

操作前

0\le a<b

操作後

a^2<b^2

條件:a\ge 0

規則:order_basics · 依賴:order_basics, distributive

葉節點依據:order_basics + distributive + mul_zero + add_inverse

由 a≥0 與 a<b 得 b>0,所以 b+a≥b>0;又 b−a>0。依 order_basics(u<v 且 w>0 ⇒ uw<vw,取 u=0、v=b−a、w=b+a)得 0<(b−a)(b+a)。依分配律 (b−a)(b+a)=b²−a²,所以 b²−a²>0,兩邊同加 a² 得 a²<b²。

S09.2 · implies

操作前

a\ge 0,\ b\ge 0,\ a^2<b^2

操作後

a<b

條件:a\ge 0; b\ge 0

規則:contradiction · 依賴:S09.1, order_basics

葉節點依據:contradiction + order_basics + eq_congruence + case_analysis

假設 a<b 不成立。依三分律,b=a 或 b<a。若 b=a,則 b²=a²(eq_congruence),與 a²<b² 矛盾。若 b<a,因 b≥0,可用 S09.1(角色互換)得 b²<a²,也與 a²<b² 矛盾。所以 a<b。S09.1 與 S09.2 合起來證得引理 L_sq_order 的兩個方向。

逐步反向審查

  • S13 · sufficient_goal_reduction · S05, S06, S09, S10, S11, S12 — 目標 G:題目要求的各項結論。足夠條件 H:S05 到 S12 的結論同時成立;H⇒G 只用合取。H 都由 G1 到 G3 正向推出,沒有把 G 當作前提。
  • S12 · inverse_equivalence · neg_mul, add_inverse — 這是對所有實數成立的恆等式(N14),兩個方向都成立。
  • S11 · inverse_equivalence · sqrt_def, numeric_evaluation — 每一個等號都是同一個數的不同寫法,雙向成立。
  • S10 · premise_audit · S08, L_sq_order, sqrt_def, order_basics — 三個數都非負才能用引理;「5 與 6 之間沒有整數」是整數的序性質。只推出 √34 不是整數,不宣稱任何小數展開。
  • S09.2 · premise_audit · S09.1, order_basics, contradiction, eq_congruence — 反證需要三分律涵蓋所有情況,並需要 b≥0 才能套用 S09.1。
  • S09.1 · premise_audit · order_basics, distributive, mul_zero — 需要 a≥0 才能保證 b+a>0;若允許 a 為負,例如 a=−6、b=5,結論 a²<b² 不成立。
  • S09 · premise_audit · S02, L_sq_order — 引理的前提是兩邊非負(S02);對可能為負的數,平方比較不成立(見錯誤控制)。
  • S08 · inverse_equivalence · numeric_evaluation, sqrt_def — 反向:若 d≥0 且 d²=34,依 sqrt_def 的唯一性 d=√34;根號內的計算可重算(N9)。
  • S07 · inverse_equivalence · numeric_evaluation — 反向:1+5=6、2+(−3)=−1,還原 R 的座標。
  • S06 · premise_audit · S05, sqrt_def, neg_mul — 拒絕的理由是符號條件與唯一性;不宣稱 −5 與 d(P,Q) 毫無關係,兩者只差一個負號。
  • S05.2 · premise_audit · S05.1, sqrt_def — 需要 sqrt_def 的唯一性與 S05.1 的兩個條件;少了 b≥0 就無法排除 −5。
  • S05.1 · premise_audit · numeric_evaluation, order_basics — 只檢查一個候選值;不宣稱 5 是唯一滿足 b²=25 的實數(−5 也滿足),唯一性還要加上 b≥0。
  • S05 · inverse_equivalence · sqrt_def, eq_replace — √25 與 5 是同一個數,以等值代換互換,雙向成立。
  • S04 · inverse_equivalence · numeric_evaluation, power_laws — 每一個等號都是精確整數計算,可以獨立重算(N3),雙向成立。
  • S03 · inverse_equivalence · numeric_evaluation — 反向:1+3=4、2+4=6,還原 Q 的座標;兩邊是同一對數。
  • S02 · premise_audit · S01, square_nonneg, order_basics, sqrt_def — 只需要實數平方非負與主平方根的定義;反向(由 d≥0 推出任何關於座標的資訊)並未宣稱。
  • S01 · premise_audit · G1, mko_distance_def — 此步只寫出定義並確認框架條件,不推出新事實;若框架不符合 G1,後面的計算都不適用。

錯誤控制與反例

負根不是距離

MKO 指出的第一個誤解是把負平方根當距離。方程 b²=25 有兩個實數解 5 與 −5,但距離是主平方根,必須非負(S02、S06)。檢查候選距離要同時核對兩件事:平方等於平方和,而且值非負。

先確認框架

公式只在兩軸互相垂直且同單位的框架中給出歐氏距離。若 x 軸一格是 1 cm、y 軸一格是 2 cm,座標差 (3,4) 代表實際位移 3 cm 與 8 cm,實際距離是 √(9+64)=√73 cm,不是 5 cm。若兩軸夾 60° 且同單位,向量 3e₁+4e₂ 的長度平方是 9+16+2·3·4·cos60°=37,也不是 25(這個計算用到內積,本稿不證明)。所以 S01 先確認 G1。

平方比較需要非負

引理 L_sq_order 要求 a、b≥0。對一般實數它不成立:−6<5,但 (−6)²=36>25。距離可以用平方比較,是因為 S02 保證距離非負。

  • 因為 (−5)²=25,所以 d(P,Q)=−5 也是正確答案 → reject — 距離是主平方根,必須 ≥0;−5<0。
  • d(P,Q)=|3|+|4|=7 → reject — 這是曼哈頓(L¹)距離,屬於另一個度量;歐氏距離是 √25=5,而 7≠5。
  • d(P,R) 恰好等於 5.83 → reject — 5.83²=33.9889≠34;精確值是 √34。
  • −6<5,所以 (−6)²<5² → reject — (−6)²=36>25;平方比較只對非負數成立。

結論與限制

在同一等單位正交框架中,d(P,Q)=5;候選值 −5 雖然平方為 25,但為負,不是距離。d(P,R)=√34,不是整數,且 5<√34<6;由 25<34 得 d(P,Q)<d(P,R)。重合點距離為 0,且 d(Q,P)=d(P,Q)。

  • 本稿不證明三角不等式,也不證明 d 滿足全部度量公理;只用到 d≥0、平方公式與對稱性。
  • 錯誤控制中 60° 斜交框架的長度計算用到內積公式,本稿未證明,只作對照說明。
  • MKO 的 formal next(綁定 EuclideanSpace ℝ (Fin 2))未做。

驗證及來源綁定

21 個本稿宣告算術檢查;只支持所列算式。

  • source commit: b28a5edbd46279b1db2a3f3f48bb3f447e18899f
  • adopted source SHA-256: 7504f016b13763fd8c797e2dbf0a09a7117e6f60892b44e03628e66cbaba7743
  • original source SHA-256: 7504f016b13763fd8c797e2dbf0a09a7117e6f60892b44e03628e66cbaba7743
  • Lean: NOT_RUN · independent AI: NOT_MEASURED

同源完整 JSON(含公式、AST、反控制與修訂記錄)