逐步主鏈
S01 · definition
操作前
\text{a set}\ S\ \text{in the universe}\ \mathbb{Z}操作後
A=B\iff\forall x\in\mathbb{Z}\,(x\in A\iff x\in B)條件:無
規則:mko_set · 依賴:G1
葉節點依據:mko_set + set_extensionality
依 MKO,在指定論域中集合由「哪些對象是它的元素」刻畫,元素完全相同的集合相等。論域是 ℤ(G1),所以要證兩個集合相等,就要對任意整數 x 證明 x∈A ⇔ x∈B;要證不相等,只需找到一個整數屬於其中一個而不屬於另一個。
S02 · equivalent
操作前
x\in A
操作後
x^2=4
條件:x\in\mathbb{Z}
規則:set_builder · 依賴:G2
葉節點依據:set_builder + and_intro_elim
依集合建構式,x∈A ⇔ x∈ℤ 且 x²=4。在論域 ℤ 中 x∈ℤ 已成立,所以 x∈A ⇔ x²=4。A 是在既有集合 ℤ 中以條件分出元素,這是受限的建構方式。
S03 · equivalent
操作前
x^2=4
操作後
x^2-4=0
條件:無
規則:eq_congruence · 依賴:S02
葉節點依據:eq_congruence + add_inverse + add_assoc + add_zero
兩邊同加 −4;反向是兩邊同加 4。
S04 · equivalent
操作前
x^2-4=0
操作後
(x-2)(x+2)=0
條件:無
規則:distributive · 依賴:S03
葉節點依據:distributive + neg_mul + add_inverse + eq_replace
依分配律 (x−2)(x+2)=x²+2x−2x−4=x²−4,對每個整數成立;等值代換不改變等式的真假。
S05 · equivalent
操作前
(x-2)(x+2)=0
操作後
x-2=0\ \lor\ x+2=0
條件:無
規則:zero_product · 依賴:S04
葉節點依據:zero_product
ℤ 是整域,依零乘積性質:兩個整數的積為 0,當且僅當至少一個因子為 0。
S06 · equivalent
操作前
x-2=0\ \lor\ x+2=0
操作後
x=2\ \lor\ x=-2
條件:無
規則:eq_congruence · 依賴:S05
葉節點依據:eq_congruence + add_inverse + numeric_evaluation
第一支兩邊同加 2,第二支兩邊同加 −2;兩支各自是雙向等價,所以析取前後同真同假。
S07 · equivalent
操作前
x=2\ \lor\ x=-2
操作後
x\in B
條件:無
規則:list_set · 依賴:S06, G1, G2
葉節點依據:or_laws + list_set
依析取交換律改寫為 x=−2 ∨ x=2;依列舉記號(G1)這正是 x∈B。
S08 · implies
操作前
\text{for arbitrary}\ x\in\mathbb{Z}:\ x\in A\iff x\in B操作後
A=B
條件:無
規則:set_extensionality · 依賴:S02, S03, S04, S05, S06, S07
葉節點依據:logic_chain + forall_intro + set_extensionality
S02 到 S07 對任意整數 x 成立,依推論的傳遞串起來得 x∈A ⇔ x∈B;依全稱推廣與集合相等的判準,A=B。作為對照的非元素:3²=9≠4,所以 3∉A;又 3≠−2、3≠2,所以 3∉B,兩邊一致。
S09 · implies
操作前
\forall x\in\mathbb{Z}:\ x\in C\iff x\in B操作後
C=B
條件:無
規則:set_extensionality · 依賴:L_C, G2
葉節點依據:set_extensionality + list_set + or_laws
依引理 L_C(在 S09.1、S09.2 證明),每個整數 x 都有 x∈C ⇔ x∈B;依集合相等的判準,C=B。C 的寫法有三個符號、順序也不同,但集合只看元素,順序與重複都不產生新集合。
S10 · implies
操作前
-2\in B,\ -2\notin D
操作後
D\neq B
條件:無
規則:contradiction · 依賴:G1, G2, list_set
葉節點依據:contradiction + set_extensionality + list_set + numeric_evaluation
依列舉記號,−2∈B(第一支 −2=−2 成立);而 −2∈D ⇔ −2=2,但 −2≠2,所以 −2∉D。若 D=B,兩者元素相同,就會有 −2∈D,矛盾。所以 D={2}≠B。
S11 · implies
操作前
2\ \text{versus}\ \{2\}操作後
\{2\}\subseteq B\iff 2\in B;\quad \{2\}\in B\ \text{is not a true statement}條件:無
規則:subset_def · 依賴:G1, G2, list_set, typed_membership
葉節點依據:subset_def + list_set + typed_membership
2 是整數,{2}=D 是整數的集合,兩者不是同一個對象。它們的正確關係是:依子集定義,{2}⊆B ⇔ 對每個 y,y∈{2} ⇒ y∈B;因 y∈{2} ⇔ y=2,這等價於 2∈B。2∈B 成立,所以 {2}⊆B。另一方面,依 typed_membership,B 的元素是整數,{2} 不是整數,所以「{2}∈B」在本語境中不是為真的命題(在型別化的讀法中它甚至不是良構的)。混淆 2 與 {2},就會把 ⊆ 與 ∈ 混為一談。
S12 · implies
操作前
\exists R\in U\ \forall y\in U:\ (y\in R\iff y\notin y)
操作後
\text{fix such an}\ R\in U條件:無
規則:exists_elim · 依賴:G3
葉節點依據:exists_elim
轉到 MKO 的第二個誤解:「任意條件都能不受限制地定義集合」。若條件「y∉y」能在論域 U 中定義一個集合,就會有某個 R∈U,其元素恰好是不屬於自身的對象。為了反證,暫時假設這樣的 R 存在,並給它一個新名字 R。
S13 · implies
操作前
\forall y\in U:\ (y\in R\iff y\notin y)
操作後
R\in R\iff R\notin R
條件:R\in U
規則:forall_elim · 依賴:S12
葉節點依據:forall_elim
S12 的性質對每個 y∈U 成立,而 R 本身就在 U 中,所以可以取 y=R,得 R∈R ⇔ R∉R。
S14 · case_split
操作前
R\in R\iff R\notin R
操作後
R\in R\ \lor\ R\notin R
條件:無
規則:case_analysis · 依賴:S13, excluded_middle
葉節點依據:case_analysis + excluded_middle
依排中律,R∈R 或 R∉R。兩種情形在 S14.1、S14.2 中都由 S13 導出矛盾,兩支涵蓋所有可能。
S15 · implies
操作前
\text{the assumption of S12 leads to a contradiction}操作後
\neg\exists R\in U\ \forall y\in U:\ (y\in R\iff y\notin y)
條件:無
規則:contradiction · 依賴:S12, S14, S14.1, S14.2
葉節點依據:contradiction + exists_elim
S12 的暫時假設在兩個情形下都導出矛盾,依反證法,這樣的 R 不存在。這個結論對任何論域 U 與任何隸屬關係都成立,沒有用到集合論公理。所以不存在 U 內的對象 R∈U,其對 U 中各 y 的隸屬關係恰好由 y∉y 刻畫:不能要求每個條件都由 U 內的一個集合表示。這不排除在通常集合論中以受限分離形成 R={y∈U ∣ y∉y}⊆U;此時 R 不屬於 U。相對地,S02 用的是在既有集合 ℤ 中分出元素的受限形式。
S16 · implies
操作前
\text{conclusions of S08, S09, S10, S11, S15}操作後
A=B=C,\ D\neq B,\ \{2\}\subseteq B,\ \neg\exists R\in U\ \forall y\in U:\ (y\in R\iff y\notin y)條件:無
規則:and_intro_elim · 依賴:S08, S09, S10, S11, S15
葉節點依據:and_intro_elim
合起來:以條件寫成的 A、以列舉寫成的 B、帶重複的 C 是同一個集合;D={2} 不等於 B;元素 2 與集合 {2} 以 ∈ 與 ⊆ 分別連到 B;不存在 R∈U 對所有 y∈U 滿足 y∈R ⇔ y∉y。
局部子步與引理
S09.1 · equivalent
操作前
x\in C
操作後
x=2\lor x=-2\lor x=2
條件:無
規則:list_set · 依賴:G2, list_set
葉節點依據:list_set
依列舉記號展開 C={2,−2,2}:x∈C ⇔ x=2 ∨ x=−2 ∨ x=2。
S09.2 · equivalent
操作前
x=2\lor x=-2\lor x=2
操作後
x=-2\lor x=2,\ \text{i.e.}\ x\in B條件:無
規則:or_laws · 依賴:S09.1, or_laws
葉節點依據:or_laws + list_set
依析取的交換與結合改寫為 (x=2∨x=2)∨x=−2;依冪等律 x=2∨x=2 ⇔ x=2,得 x=2∨x=−2;再交換得 x=−2∨x=2,依列舉記號即 x∈B。S09.1 與 S09.2 合起來證得引理 L_C。
S14.1 · implies
操作前
R\in R
操作後
R\notin R,\ \text{contradiction}條件:無
規則:modus_ponens · 依賴:S13, S14
葉節點依據:modus_ponens + iff_intro
情形一:R∈R。由 S13 的「⇒」方向得 R∉R,與 R∈R 同時成立,矛盾。
S14.2 · implies
操作前
R\notin R
操作後
R\in R,\ \text{contradiction}條件:無
規則:modus_ponens · 依賴:S13, S14
葉節點依據:modus_ponens + iff_intro
情形二:R∉R。由 S13 的「⇐」方向得 R∈R,與 R∉R 同時成立,矛盾。