逐步主鏈
S01 · definition
操作前
\text{a universe and two sets}操作後
U=\{1,2,3,4,5,6,7,8\},\ A=\{2,4,6,8\},\ B=\{3,4,5,6\}條件:無
規則:def_intro · 依賴:G1, G2
葉節點依據:def_intro + finite_set_listing
先寫出全集 U,再寫出 A、B。依 MKO,補集必須相對於明示的全集,所以全集在任何補集計算之前就固定。集合以列舉給出,依 finite_set_listing,x∈A 恰好表示 x 是 2、4、6、8 之一。
S02 · implies
操作前
A=\{2,4,6,8\},\ B=\{3,4,5,6\},\ U=\{1,2,3,4,5,6,7,8\}操作後
A\subseteq U,\ B\subseteq U
條件:無
規則:subset_def · 依賴:S01
葉節點依據:subset_def + finite_set_listing + forall_intro
A 的元素恰好是 2、4、6、8 四個,每一個都在 U 的列舉中;B 的元素 3、4、5、6 也都在 U 中。A、B 是有限列舉,逐一檢查全部元素就是對「每個元素」的完整檢查,所以依子集合定義 A⊆U、B⊆U,符合假設 a1:A、B 在同一論域中。
S03 · implies
操作前
A\subseteq U,\ B\subseteq U
操作後
A\cup B,\ A\cap B,\ A\setminus B,\ B\setminus A\subseteq U
條件:A\subseteq U; B\subseteq U
規則:L_ops_in_U · 依賴:S02
葉節點依據:set_operations_def + subset_def + case_analysis
依引理 L_ops_in_U(在 S03.1、S03.2 證明),四個運算結果都是 U 的子集合。因此 U 以外的對象都不屬於它們;要列出它們,只需逐一檢查 U 的八個元素。
S04 · implies
操作前
x\in U
操作後
1{:}(F,F),\ 2{:}(T,F),\ 3{:}(F,T),\ 4{:}(T,T),\ 5{:}(F,T),\ 6{:}(T,T),\ 7{:}(F,F),\ 8{:}(T,F)條件:無
規則:finite_set_listing · 依賴:S01, S03
葉節點依據:finite_set_listing + numeric_evaluation
對 U 的每個元素記錄一對真值(x∈A,x∈B):例如 2 在 A 的列舉中、不在 B 的列舉中,記為 (T,F);4 同在兩者,記為 (T,T);1 都不在,記為 (F,F)。八列涵蓋 U 的全部元素;依 S03,之後每個運算都只需讀這張表。
S05 · equivalent
操作前
A\cup B
操作後
\{2,3,4,5,6,8\}條件:無
規則:set_operations_def · 依賴:S03, S04
葉節點依據:set_operations_def + set_extensionality + finite_set_listing
x∈A∪B ⇔ x∈A 或 x∈B。表中至少有一個 T 的列是 2、3、4、5、6、8,所以 A∪B={2,3,4,5,6,8}。4 與 6 同時屬於兩集,但在聯集中只算一個元素。
S06 · equivalent
操作前
A\cap B
操作後
\{4,6\}條件:無
規則:set_operations_def · 依賴:S03, S04
葉節點依據:set_operations_def + set_extensionality + finite_set_listing
x∈A∩B ⇔ x∈A 且 x∈B。表中兩個都是 T 的列只有 4、6,所以 A∩B={4,6}。對照 S05:2 在 A∪B 中卻不在 A∩B 中,「或」與「且」給出不同的集合。
S07 · equivalent
操作前
A\setminus B
操作後
\{2,8\}條件:無
規則:set_operations_def · 依賴:S03, S04
葉節點依據:set_operations_def + set_extensionality + finite_set_listing
x∈A∖B ⇔ x∈A 且 x∉B,即表中 (T,F) 的列:2、8。所以 A∖B={2,8}。
S08 · equivalent
操作前
B\setminus A
操作後
\{3,5\}條件:無
規則:set_operations_def · 依賴:S03, S04
葉節點依據:set_operations_def + set_extensionality + finite_set_listing
x∈B∖A ⇔ x∈B 且 x∉A,即表中 (F,T) 的列:3、5。所以 B∖A={3,5}。這裡讀的是第一個真值為 F、第二個為 T 的列,方向與 S07 相反。
S09 · implies
操作前
A\setminus B=\{2,8\},\ B\setminus A=\{3,5\}操作後
A\setminus B\neq B\setminus A
條件:無
規則:set_extensionality · 依賴:S07, S08
葉節點依據:set_extensionality + finite_set_listing
2∈A∖B 但 2∉B∖A,兩集元素不同,依集合相等判準 A∖B≠B∖A。本例中兩者甚至沒有共同元素。差集有方向性。
S10 · equivalent
操作前
U\setminus A,\ U\setminus B
操作後
U\setminus A=\{1,3,5,7\},\ U\setminus B=\{1,2,7,8\}條件:U\ \text{explicit}
規則:mko_set_ops · 依賴:S01, S04
葉節點依據:set_operations_def + set_extensionality + finite_set_listing + finite_counting_basics
依 MKO,A 的補集是相對於明示全集 U 的 U∖A。x∈U∖A ⇔ x∈U 且 x∉A:表中第一個真值為 F 的列是 1、3、5、7。同理,U∖B 是第二個真值為 F 的列 1、2、7、8。個數核對:U 是 A 與 U∖A 的不相交聯集,所以 |U∖A|=8−4=4。
S11 · implies
操作前
U'\setminus A
操作後
U'\setminus A=\{1,3,5,7,9,10\}\neq U\setminus A條件:A\subseteq U'
規則:set_extensionality · 依賴:G3, S01, S10
葉節點依據:set_operations_def + set_extensionality + finite_set_listing
換成全集 U′:A⊆U′ 仍成立,x∈U′∖A ⇔ x∈U′ 且 x∉A,得 U′∖A={1,3,5,7,9,10},共 10−4=6 個元素。9 屬於 U′∖A 卻不屬於 U∖A(9∉U),所以兩個「補集」不同。A 的列舉沒變,變的只是全集;不指定全集就寫「A 的補集」,答案不確定。
S12 · equivalent
操作前
U\setminus(A\cup B)
操作後
(U\setminus A)\cap(U\setminus B)
條件:無
規則:L_de_morgan_set · 依賴:set_operations_def
葉節點依據:set_operations_def + de_morgan_logic + and_intro_elim + set_extensionality
依引理 L_de_morgan_set(在 S12.1 到 S12.3 對任意集合證明),兩者是同一集合。這是一般論證,不依賴本例的數字。
S13 · implies
操作前
U\setminus\{2,3,4,5,6,8\},\quad \{1,3,5,7\}\cap\{1,2,7,8\}操作後
\{1,7\}=\{1,7\}條件:無
規則:set_operations_def · 依賴:S05, S10, S12
葉節點依據:set_operations_def + finite_set_listing + numeric_evaluation
以本例核對引理:由 S05,U∖(A∪B) 是 U 中不在 {2,3,4,5,6,8} 的元素,即 {1,7};由 S10,(U∖A)∩(U∖B) 是 {1,3,5,7} 與 {1,2,7,8} 的共同元素,也是 {1,7}。兩邊相同,與 S12 一致。
S14 · equivalent
操作前
A\cup B
操作後
A\cup(B\setminus A)\ \text{with}\ A\cap(B\setminus A)=\varnothing條件:無
規則:L_union_split · 依賴:S05, S08
葉節點依據:set_operations_def + case_analysis + set_extensionality + contradiction
依引理 L_union_split(在 S14.1、S14.2 證明),A∪B 可以拆成 A 與 B∖A 兩個不相交的部分。本例:{2,4,6,8}∪{3,5}={2,3,4,5,6,8},與 S05 一致。
S15 · implies
操作前
|A\cup B|=|A\cup(B\setminus A)|
操作後
|A\cup B|=|A|+|B\setminus A|=4+2=6
條件:A\cap(B\setminus A)=\varnothing
規則:finite_counting_basics · 依賴:S08, S14
葉節點依據:finite_counting_basics + numeric_evaluation
A 與 B∖A 不相交(S14),依有限計數,|A∪(B∖A)|=|A|+|B∖A|=4+2=6。若直接把 |A|+|B|=8 當作聯集的大小,就把 4、6 各算了兩次;差 8−6=2 正是 |A∩B|。
S16 · implies
操作前
\text{membership table of }U操作後
A\cup B=\{2,3,4,5,6,8\},\ A\cap B=\{4,6\},\ A\setminus B=\{2,8\},\ B\setminus A=\{3,5\},\ U\setminus A=\{1,3,5,7\},\ U\setminus B=\{1,2,7,8\}條件:無
規則:and_intro_elim · 依賴:S05, S06, S07, S08, S09, S10, S11, S13, S15
葉節點依據:and_intro_elim
彙整 S05 到 S15 的結果:六個運算結果如上;A∖B≠B∖A;U′∖A≠U∖A;德摩根律在本例成立;|A∪B|=6。
局部子步與引理
S03.1 · implies
操作前
x\in A\cup B
操作後
x\in U
條件:A\subseteq U; B\subseteq U
規則:case_analysis · 依賴:set_operations_def, subset_def
葉節點依據:set_operations_def + case_analysis + subset_def + forall_elim
設 x∈A∪B;依聯集定義,x∈A 或 x∈B。情況一 x∈A:由 A⊆U 得 x∈U。情況二 x∈B:由 B⊆U 得 x∈U。兩種情況都得 x∈U,所以 A∪B⊆U。
S03.2 · implies
操作前
x\in A\cap B\ \lor\ x\in A\setminus B\ \lor\ x\in B\setminus A
操作後
x\in U
條件:A\subseteq U; B\subseteq U
規則:and_intro_elim · 依賴:set_operations_def, subset_def
葉節點依據:set_operations_def + and_intro_elim + subset_def + forall_elim
x∈A∩B 與 x∈A∖B 都含有合取項 x∈A;取出它再用 A⊆U,得 x∈U。x∈B∖A 含有 x∈B,用 B⊆U 得 x∈U。S03.1 與 S03.2 合起來證得引理 L_ops_in_U。
S12.1 · equivalent
操作前
x\in U\setminus(A\cup B)
操作後
x\in U\land\neg(x\in A\lor x\in B)
條件:無
規則:set_operations_def · 依賴:set_operations_def
葉節點依據:set_operations_def + def_unfold
依差集定義,x∈U∖(A∪B) ⇔ x∈U 且 x∉A∪B;再依聯集定義,x∉A∪B 就是 ¬(x∈A 或 x∈B)。
S12.2 · equivalent
操作前
x\in U\land\neg(x\in A\lor x\in B)
操作後
x\in U\land x\notin A\land x\notin B
條件:無
規則:de_morgan_logic · 依賴:S12.1, de_morgan_logic
葉節點依據:de_morgan_logic
依邏輯的德摩根律 ¬(P∨Q) ⇔ ¬P∧¬Q,取 P 為 x∈A、Q 為 x∈B。否定把「或」變成「且」。
S12.3 · equivalent
操作前
x\in U\land x\notin A\land x\notin B
操作後
x\in(U\setminus A)\cap(U\setminus B)
條件:無
規則:and_intro_elim · 依賴:S12.2, set_operations_def
葉節點依據:and_intro_elim + set_operations_def + forall_intro + set_extensionality
把 x∈U 重複一次(P ⇔ P∧P)並重組合取:(x∈U 且 x∉A) 且 (x∈U 且 x∉B),即 x∈U∖A 且 x∈U∖B,也就是 x∈(U∖A)∩(U∖B)。x 是任意的,依集合相等判準,S12.1 到 S12.3 合起來證得引理 L_de_morgan_set。
S14.1 · equivalent
操作前
x\in A\lor(x\in B\land x\notin A)
操作後
x\in A\lor x\in B
條件:無
規則:case_analysis · 依賴:set_operations_def
葉節點依據:case_analysis + set_operations_def + set_extensionality
左邊是 x∈A∪(B∖A) 的定義展開。對 x∈A 分情況:若 x∈A,兩邊都成立;若 x∉A,左邊化為 x∈B∧x∉A,即 x∈B,右邊也化為 x∈B。兩種情況下兩邊同真同假,所以 A∪(B∖A)=A∪B。
S14.2 · implies
操作前
x\in A\cap(B\setminus A)
操作後
A\cap(B\setminus A)=\varnothing
條件:無
規則:contradiction · 依賴:set_operations_def
葉節點依據:set_operations_def + contradiction + quantifier_negation
若 x∈A∩(B∖A),則 x∈A 且 x∈B 且 x∉A,前後矛盾。所以沒有這樣的 x,A∩(B∖A)=∅。S14.1 與 S14.2 合起來證得引理 L_union_split。