逐步主鏈
S01 · definition
操作前
\text{rule }x\mapsto x^2操作後
f:X\to Y,\ X=\{-2,-1,0,1,2\},\ Y=\{0,1,2,3,4,5\},\ f(x)=x^2條件:無
規則:def_intro · 依賴:G1, G2
葉節點依據:def_intro + mko_function_def
宣告 f:X→Y 同時給出三項資料:定義域 X、陪域 Y,以及對應規則 x↦x²。依 MKO,函數的核心是「每個允許的輸入對應唯一輸出」這條規則,而不是畫出的曲線;X、Y 是明示的集合(假設 a1)。
S02 · equivalent
操作前
f:X\to Y\ \text{is a function}操作後
\forall x\in X:\ x^2\in Y\ \land\ \forall y,y'\ (y=x^2\land y'=x^2\Rightarrow y=y')
條件:無
規則:mko_function_def · 依賴:S01, mko_function_def
葉節點依據:mko_function_def + function_def + def_unfold
依 MKO 的定義,f:X→Y 是函數,當且僅當 X 中每個輸入都在 Y 中有輸出(存在),而且只有一個(唯一)。對規則 x↦x²,存在性就是 x²∈Y;唯一性是:若 y、y′ 都等於 x²,則 y=y′。
S03 · implies
操作前
(-2)^2,\ (-1)^2,\ 0^2,\ 1^2,\ 2^2
操作後
4,\ 1,\ 0,\ 1,\ 4
條件:無
規則:numeric_evaluation · 依賴:G1, G2
葉節點依據:numeric_evaluation + neg_mul
逐一計算 X 的五個輸入的平方:(−2)²=4、(−1)²=1、0²=0、1²=1、2²=4。負數的平方是正數,所以 −2 與 2 得到同一個值。
S04 · implies
操作前
f(x)\in\{4,1,0,1,4\}操作後
\forall x\in X:\ f(x)\in Y
條件:無
規則:finite_forall · 依賴:S03, G1
葉節點依據:finite_forall + numeric_evaluation
4、1、0 都在 Y={0,1,2,3,4,5} 的列舉中。X 是有限列舉,五個輸入全部檢查過,依 finite_forall,每個輸入都在 Y 中有輸出。這是對 X 全部元素的窮舉,不是抽樣;若 X 有無限多個元素,就需要一般論證。
S05 · implies
操作前
y=x^2,\ y'=x^2
操作後
y=y'
條件:無
規則:eq_refl_symm_trans · 依賴:S02
葉節點依據:eq_refl_symm_trans + forall_intro
設對同一個 x,y 與 y′ 都是 f 的輸出,即 y=x²、y′=x²。依等號的對稱與傳遞,y=y′。x² 是由 x 確定的一個數,所以一個輸入不會有兩個不同輸出。這個論證對每個 x 都成立,不需逐一檢查。
S06 · implies
操作前
\text{existence (S04)},\ \text{uniqueness (S05)}操作後
f:X\to Y\ \text{is a function}條件:無
規則:mko_function_def · 依賴:S02, S04, S05
葉節點依據:mko_function_def + and_intro_elim
存在性(S04)與唯一性(S05)都成立,依 S02 的等價,f:X→Y 是函數,滿足假設 a2。
S07 · equivalent
操作前
f(X)=\{f(x)\mid x\in X\}操作後
f(X)=\{0,1,4\}條件:無
規則:image_preimage_def · 依賴:S03, S06
葉節點依據:image_preimage_def + finite_forall + set_extensionality
值域(像)是實際輸出的集合 f(X)={f(x) ∣ x∈X}。由 S03,輸出依次是 4、1、0、1、4;重複的輸出在集合中只算一次,所以 f(X)={0,1,4}。
S08 · implies
操作前
f(X)=\{0,1,4\}\subseteq Y,\ 2\in Y操作後
2\notin f(X),\ f(X)\neq Y
條件:無
規則:L_no_root_2 · 依賴:S04, S07
葉節點依據:quantifier_negation + finite_forall + set_extensionality + injective_surjective_def
f(X)⊆Y(每個輸出都在 Y 中,S04)。依引理 L_no_root_2(在 S08.1、S08.2 證明),X 中沒有 x 使 x²=2,所以 2∉f(X);但 2∈Y。因此 f(X)≠Y:陪域不等於值域,f:X→Y 不是滿射。這正是 MKO 說的「陪域 Y 不必等於實際值域」。同理 3、5 也不在 f(X) 中。
S09 · equivalent
操作前
\Gamma_f=\{(x,f(x))\mid x\in X\}操作後
\Gamma_f=\{(-2,4),(-1,1),(0,0),(1,1),(2,4)\}\subseteq X\times Y條件:無
規則:graph_def · 依賴:S03, S06
葉節點依據:graph_def + cartesian_product_def + finite_counting_basics + numeric_evaluation
依圖形定義,代入 S03 的值得到五個有序對。Γ_f 是 X×Y 的子集合:X×Y 有 5·6=30 個有序對,Γ_f 只取其中 5 個,每個輸入恰好一個。比較三個對象:陪域 Y 有 6 個數,值域 f(X) 有 3 個數,圖形 Γ_f 有 5 個有序對。前兩者是 Y 的子集合,圖形是 X×Y 的子集合;它們是不同的數學對象。
S10 · implies
操作前
f(-1)=1,\ f(1)=1
操作後
f(-1)=f(1),\ -1\neq 1:\ f\ \text{not injective}條件:無
規則:injective_surjective_def · 依賴:S03
葉節點依據:injective_surjective_def + numeric_evaluation
f(−1)=1=f(1),但 −1≠1,所以 f 不是單射:不同輸入可以有相同輸出。這不違反函數定義,因為定義只要求每個輸入的輸出唯一,不要求每個輸出只來自一個輸入。
S11 · implies
操作前
f_1:X\to\{0,1,4\},\ f_1(x)=x^2操作後
f_1\ \text{is a surjective function},\ f_1\neq f條件:無
規則:function_def · 依賴:S03, S05, S08
葉節點依據:function_def + injective_surjective_def + set_extensionality
用同一規則宣告 f₁:X→{0,1,4}。S11.1 到 S11.3 證明:f₁ 是函數、是滿射,而且 f₁≠f。f₁ 與 f 有相同的規則、圖形與值域,只差在陪域;依 function_def,陪域是函數資料的一部分。
S12 · implies
操作前
y=1:\ \{x\in X\mid x^2=1\}操作後
\{-1,1\}:\ \text{two candidate outputs}條件:無
規則:mko_function_def · 依賴:G3, S03
葉節點依據:mko_function_def + finite_forall + numeric_evaluation
考慮反向規則 s:對 y∈Y,s(y) 是 X 中滿足 x²=y 的 x。y=1 時,x=−1 與 x=1 都滿足(S03),而 −1≠1:一個輸入有兩個候選輸出,唯一性失敗,所以 s 不是 Y→X 的函數。這與 S10 的非單射直接相關。
S13 · implies
操作前
y=2:\ \{x\in X\mid x^2=2\}操作後
\varnothing:\ \text{no output}條件:無
規則:mko_function_def · 依賴:G3, S08
葉節點依據:mko_function_def + quantifier_negation + finite_forall
y=2 時,依引理 L_no_root_2,X 中沒有 x 使 x²=2:這個輸入沒有輸出,存在性也失敗。S12 與 S13 各自就足以說明 s 不是 Y→X 的函數;s 同時犯了「多個輸出」與「沒有輸出」兩種錯。
S14 · implies
操作前
g(2)=2+4
操作後
g(2)=6\notin Y:\ g\ \text{is not a function }X\to Y條件:無
規則:mko_function_def · 依賴:G1, G3
葉節點依據:mko_function_def + numeric_evaluation
規則 g(x)=x+4 在輸入 2 給出 6,而 6∉Y(Y 的最大元素是 5),所以輸入 2 在 Y 中沒有輸出,g 不是 X→Y 的函數。同一規則若宣告為 g:X→ℤ,每個 x+4 都是唯一的整數,就是函數。是否為函數取決於宣告的陪域,不只取決於公式。
S15 · implies
操作前
f,\ f_1,\ s,\ g
操作後
f,f_1\ \text{functions};\ f(X)=\{0,1,4\}\neq Y;\ s,g\ \text{not functions as declared}條件:無
規則:and_intro_elim · 依賴:S06, S07, S08, S09, S11, S12, S13, S14
葉節點依據:and_intro_elim
彙整:f:X→Y 是函數(S06),值域 {0,1,4} 不等於陪域 Y(S07、S08),圖形是 5 個有序對(S09);換陪域得到不同的滿射 f₁(S11);s 不是 Y→X 的函數(S12、S13);g 不是 X→Y 的函數(S14)。
局部子步與引理
S08.1 · equivalent
操作前
\neg\exists x\in X:\ x^2=2
操作後
\forall x\in X:\ x^2\neq 2
條件:無
規則:quantifier_negation · 依賴:image_preimage_def
葉節點依據:quantifier_negation + image_preimage_def
2∈f(X) 依像的定義是 ∃x∈X, x²=2。依量詞否定,「沒有這樣的 x」等價於「每個 x∈X 都有 x²≠2」。
S08.2 · implies
操作前
x^2\in\{4,1,0,1,4\}\ (x\in X)操作後
\forall x\in X:\ x^2\neq 2
條件:無
規則:finite_forall · 依賴:S03, S08.1
葉節點依據:finite_forall + numeric_evaluation
由 S03,X 的五個輸入的平方是 4、1、0、1、4,沒有一個等於 2。依 finite_forall,∀x∈X, x²≠2;再依 S08.1,X 中沒有 x 使 x²=2。S08.1 與 S08.2 合起來證得引理 L_no_root_2。
S11.1 · implies
操作前
f_1(x)\in\{4,1,0,1,4\}操作後
f_1:X\to\{0,1,4\}\ \text{is a function}條件:無
規則:finite_forall · 依賴:S03, S05
葉節點依據:finite_forall + mko_function_def
由 S03,五個輸出都在 {0,1,4} 中,依 finite_forall 存在性成立;唯一性與 S05 相同。所以 f₁ 是函數。
S11.2 · implies
操作前
0=f_1(0),\ 1=f_1(1),\ 4=f_1(2)
操作後
f_1\ \text{is surjective}條件:無
規則:injective_surjective_def · 依賴:S03, S11.1
葉節點依據:injective_surjective_def + finite_forall + exists_intro
陪域 {0,1,4} 的每個元素都有原像:0=f₁(0)、1=f₁(1)、4=f₁(2)。依 finite_forall 與滿射定義,f₁ 是滿射。
S11.3 · implies
操作前
\text{codomain of }f_1=\{0,1,4\},\ \text{codomain of }f=Y操作後
f_1\neq f
條件:無
規則:function_def · 依賴:S08, S11.1
葉節點依據:function_def + set_extensionality
2∈Y 但 2∉{0,1,4},所以兩個陪域不同。依 function_def,兩函數相等需要相同的定義域、陪域與每點的值,所以 f₁≠f,儘管兩者每點的值都相同。