雙射:以纖維概況判定給定函數,並與「是否存在某個雙射」分開

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

← 導讀目錄 · 原始 MKO

derivation-mko-bijective-01 · production-20261019-adopted-96

目標與範圍

設 A={1,2,3}、B={4,5,6},函數 f、g:A→B 由表給出:f(1)=5、f(2)=6、f(3)=4;g(1)=4、g(2)=4、g(3)=6。先對一般總函數證明「雙射 ⇔ 每個 b∈B 的纖維恰有一個元素」,再按陪域 4、5、6 的順序列出 f 與 g 的完整纖維概況,判定 f 是雙射、g 既非單射也非滿射。最後回答另一類問題「是否存在某個雙射」:A→B 存在(f 即是)、{1,2,3}→{4,5} 不存在、∅→∅ 恰有一個空雙射。

纖維刻畫(S03 至 S05)對任意集合上的總函數證明;其餘都是 MKO 假設 a1、a2 下的有限集合題。存在性方向:A→B 以明確見證 f 回答,{1,2,3}→{4,5} 的不存在在子步中直接證明,一般的「有限集合間存在雙射 ⇔ 元素個數相同」取自前置規則 finite_counting_basics,本稿不另證。不處理無限基數;不改動 canonical MKO 或英文 edition。

已知條件與符號

  • function_def
  • injective_surjective_def
  • image_preimage_def
  • set_builder
  • finite_counting_basics
  • numeric_evaluation
  • G1 — A={1,2,3}、B={4,5,6};f:A→B 為 f(1)=5、f(2)=6、f(3)=4。
  • G2 — g:A→B 為 g(1)=4、g(2)=4、g(3)=6;陪域仍宣告為 B={4,5,6}。
  • G3 — C={4,5};問題:是否存在雙射 A→C。
  • G4 — MKO 假設 a1:判定給定函數與詢問是否存在某個雙射是不同問題。a2:存在性題限定有限集合,大小為非負整數;兩邊大小皆為零時有唯一的空雙射。
  • f,g:A\to B — 兩個給定的總函數
  • f^{-1}(\{b\}) — b 的纖維 {a∈A ∣ f(a)=b};記號不預設 f 可逆
  • |S| — 有限集合 S 的元素個數
  • A=\{1,2,3\},\ B=\{4,5,6\},\ C=\{4,5\} — 定義域與兩個陪域
  • \varnothing — 空集合

規則與來源

  • function_def · prerequisite — 函數:f:A→B 對每個 a∈A 指定恰好一個 f(a)∈B。兩函數相等 ⇔ 定義域、對應域相同且對每個 a 都有相同值。
  • injective_surjective_def · prerequisite — 單射:f(a)=f(a′) ⇒ a=a′。滿射:每個 b∈B 都有 a∈A 使 f(a)=b。雙射:既單又滿,此時有唯一反函數 f⁻¹ 使 f⁻¹∘f=id_A、f∘f⁻¹=id_B。
  • image_preimage_def · prerequisite — 像與原像:f(S)={f(a) ∣ a∈S};f⁻¹(T)={a∈A ∣ f(a)∈T}。原像記號不預設 f 有反函數。
  • set_builder · prerequisite — 集合建構式:x∈{y∈A ∣ P(y)} 當且僅當 x∈A 且 P(x)。
  • finite_counting_basics · prerequisite — 有限計數:互斥有限集合 A、B 有 |A∪B|=|A|+|B|;|A×B|=|A|·|B|;有限集之間存在雙射 ⇔ 元素個數相同。
  • numeric_evaluation · prerequisite — 明確整數或有理數算式的精確求值;可以獨立重算。
  • eq_refl_symm_trans · prerequisite — 等號的性質:u=u;若 u=v 則 v=u;若 u=v 且 v=w 則 u=w。
  • and_intro_elim · prerequisite — 合取:由 P 與 Q 得 P∧Q;由 P∧Q 可分別得 P 與 Q。
  • 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。
  • set_extensionality · prerequisite — 集合相等:A=B 當且僅當 A⊆B 且 B⊆A,即兩者有相同元素。
  • forall_intro · prerequisite — ∀引入(全稱推廣):若某命題對一個「任意的」元素 x 證成,而證明沒有對 x 加任何額外假設,則它對論域中所有 x 成立。
  • contrapositive · prerequisite — 逆否命題:P⇒Q 與 ¬Q⇒¬P 等價。逆命題 Q⇒P 一般不與 P⇒Q 等價。
  • quantifier_negation · prerequisite — 量詞否定:¬(∀x, P(x)) 等價於 ∃x, ¬P(x);¬(∃x, P(x)) 等價於 ∀x, ¬P(x)。
  • exists_intro · prerequisite — ∃引入:若找到 a∈D 使 P(a) 成立,則 ∃x∈D, P(x)。
  • case_analysis · prerequisite — 分情況論證:若 P∨Q 成立,且 P⇒R、Q⇒R 都已證,則 R 成立。所有情況必須涵蓋全部可能。
  • cartesian_product_def · prerequisite — 笛卡兒積:A×B 是所有有序對 (a,b)(a∈A、b∈B)的集合;(a,b)=(c,d) ⇔ a=c 且 b=d。
  • mko_bijective_def · cited — 總函數 f:A→B 為雙射,當且僅當它同時單射與滿射;等價地,每個 b∈B 的纖維恰有一個元素。對有限集合,存在某個 A→B 的雙射當且僅當 |A|=|B|;基數相等不保證任意給定 f 都是雙射。 · mko-bijective
  • fiber_def · prerequisite — 纖維:對函數 f:A→B 與 b∈B,b 的纖維是原像 f^{-1}({b})={a∈A ∣ f(a)=b};它對每個函數都有定義,可以是空集合。
  • count_maps · prerequisite — 計數(乘法原理):若 |A|=m、|B|=n,則 A→B 的函數共有 n^m 個;若 m=n,其中雙射共有 n! 個。
  • L_inj_fiber · lemma — 對總函數 f:A→B:f 單射 ⇔ 每個 b∈B 的纖維至多一個元素。
  • L_surj_fiber · lemma — 對總函數 f:A→B:f 滿射 ⇔ 每個 b∈B 的纖維至少一個元素。
  • L_no_inj_3_2 · lemma — 任何函數 h:{1,2,3}→{4,5} 都不是單射。

逐步主鏈

S01 · definition

操作前

f,g\ \text{given by tables on}\ A=\{1,2,3\}

操作後

f,g:A\to B\ \text{total functions},\ B=\{4,5,6\}

條件:無

規則:function_def · 依賴:G1, G2

葉節點依據:function_def

先確認題目給的確實是總函數:在 f 的表中,1、2、3 各出現恰好一次,值 5、6、4 都在 B 中;g 的表也一樣,值 4、4、6 都在 B 中。陪域是題目宣告的 B={4,5,6},不是由表中出現的值反推,所以 g 從未取到的 5 仍屬於陪域。

S02 · definition

操作前

b\in B

操作後

f^{-1}(\{b\})=\{a\in A\mid f(a)=b\}

條件:無

規則:fiber_def · 依賴:S01

葉節點依據:fiber_def + image_preimage_def + set_builder

對陪域中的每個目標 b 定義其纖維,即被 f 送到 b 的全部輸入。完整的纖維概況按陪域目標排列,包含沒有原像的目標(空纖維)。f^{-1}({b}) 只是原像記號,對不可逆的函數也有意義。

S03 · equivalent

操作前

f\ \text{injective}

操作後

\forall b\in B:\ |f^{-1}(\{b\})|\le 1

條件:無

規則:L_inj_fiber · 依賴:S02

葉節點依據:injective_surjective_def + set_builder + eq_refl_symm_trans

依引理 L_inj_fiber,把單射改寫成纖維的條件:每個纖維至多一個元素。引理的兩個方向在 S03.1 與 S03.2 證明,對任意集合上的總函數成立,不需要有限性。

S04 · equivalent

操作前

f\ \text{surjective}

操作後

\forall b\in B:\ |f^{-1}(\{b\})|\ge 1

條件:無

規則:L_surj_fiber · 依賴:S02

葉節點依據:injective_surjective_def + set_builder

依引理 L_surj_fiber,把滿射改寫成:每個纖維至少一個元素(非空)。證明在 S04.1。

S05 · equivalent

操作前

f\ \text{bijective}

操作後

\forall b\in B:\ |f^{-1}(\{b\})|=1

條件:無

規則:mko_bijective_def · 依賴:S03, S04

葉節點依據:injective_surjective_def + and_intro_elim + order_basics

雙射的定義是單射且滿射。以 S03、S04 的等價分別替換兩個合取項,得到:每個 b 的纖維同時「至多一個元素」且「至少一個元素」,恰好就是「恰有一個元素」。這個推論不需要先假設纖維有限,也不把一般函數的纖維大小預設為非負整數。這就是 MKO 所說的等價刻畫。

S06 · equivalent

操作前

f^{-1}(\{4\}),\ f^{-1}(\{5\}),\ f^{-1}(\{6\})

操作後

\{3\},\ \{1\},\ \{2\}

條件:無

規則:set_builder · 依賴:G1, S02

葉節點依據:set_builder + set_extensionality + numeric_evaluation

逐一掃描 A 的三個元素:f(1)=5、f(2)=6、f(3)=4。目標 4 只由 3 達到,目標 5 只由 1 達到,目標 6 只由 2 達到。A 是有限集合,三個元素全部檢查過,所以每個纖維都已完整求出。f 的纖維概況(按 4、5、6)是 (1,1,1)。

S07 · implies

操作前

|f^{-1}(\{4\})|=|f^{-1}(\{5\})|=|f^{-1}(\{6\})|=1

操作後

f\ \text{bijective}

條件:B=\{4,5,6\}

規則:mko_bijective_def · 依賴:S05, S06

葉節點依據:mko_bijective_def + forall_intro + and_intro_elim

B 恰有 4、5、6 三個目標,S06 顯示三個纖維都恰有一個元素,所以「每個 b∈B 的纖維恰有一個元素」成立;依 S05,f 是雙射。

S08 · equivalent

操作前

g^{-1}(\{4\}),\ g^{-1}(\{5\}),\ g^{-1}(\{6\})

操作後

\{1,2\},\ \varnothing,\ \{3\}

條件:無

規則:set_builder · 依賴:G2, S02

葉節點依據:set_builder + set_extensionality + numeric_evaluation

對 g 做同樣的掃描:g(1)=4、g(2)=4、g(3)=6。目標 4 由 1 與 2 達到,目標 6 只由 3 達到,目標 5 沒有任何輸入達到。g 的完整纖維概況(按 4、5、6)是 (2,0,1),其中空纖維必須列出。

S09 · implies

操作前

|g^{-1}(\{4\})|=2

操作後

g\ \text{not injective}

條件:無

規則:L_inj_fiber · 依賴:S03, S08

葉節點依據:L_inj_fiber + contrapositive

纖維 g^{-1}({4})={1,2} 有兩個元素,違反「每個纖維至多一個元素」;依 L_inj_fiber 的 ⇒ 方向取逆否,g 不是單射。具體見證:g(1)=g(2)=4 而 1≠2。

S10 · implies

操作前

g^{-1}(\{5\})=\varnothing

操作後

g\ \text{not surjective}

條件:5\in B

規則:L_surj_fiber · 依賴:S04, S08

葉節點依據:L_surj_fiber + contrapositive

5 屬於宣告的陪域 B,但它的纖維是空集合;依 L_surj_fiber,g 不是滿射。所以 g 兩個條件都不滿足,屬於「兩者皆非」一類。

S11 · implies

操作前

|A|=|B|=3,\ g\ \text{not bijective}

操作後

\neg\,\forall\varphi:A\to B\ (\varphi\ \text{bijective})

條件:無

規則:quantifier_negation · 依賴:G1, S09

葉節點依據:quantifier_negation + exists_intro

A 與 B 各有三個元素,大小相等;但 S09 已證 g 不是雙射。所以「大小相等的有限集合之間,每個函數都是雙射」這個全稱命題有反例 g,為假。這正是 MKO 假設 a1:判定給定函數不能只看兩個集合的大小。

S12 · implies

操作前

|A|=3,\ |C|=2

操作後

\neg\exists h:A\to C\ \text{bijective}

條件:無

規則:L_no_inj_3_2 · 依賴:G3

葉節點依據:injective_surjective_def + contrapositive

轉到存在性問題。依引理 L_no_inj_3_2,任何 h:A→C 都不是單射,因此沒有一個是雙射。這與前置規則 finite_counting_basics(3≠2)一致,但這裡在 S12.1 至 S12.3 直接證明,不依賴該一般定理。

S13 · implies

操作前

f:A\to B\ \text{bijective}

操作後

\exists\varphi:A\to B\ \text{bijective}

條件:無

規則:exists_intro · 依賴:S07

葉節點依據:exists_intro

存在性問題「A→B 有沒有某個雙射」由明確見證回答:S07 已證 f 是雙射,所以存在。這與 finite_counting_basics(|A|=|B|=3)一致。注意這個答案只說「有某個」,對 g 是否雙射沒有任何結論。

S14 · implies

操作前

|A|=|B|=3

操作後

3^3=27\ \text{functions},\ 3!=6\ \text{bijections}

條件:無

規則:count_maps · 依賴:G1

葉節點依據:count_maps + numeric_evaluation

依乘法原理,A→B 共有 3^3=27 個函數,其中雙射 3!=6 個,所以有 21 個函數不是雙射,g 是其中之一。大小相等只保證「有」雙射,並不使大多數函數成為雙射。

S15 · implies

操作前

\varnothing\to\varnothing

操作後

\varepsilon=\varnothing\ \text{is the unique bijection}\ \varnothing\to\varnothing

條件:無

規則:injective_surjective_def · 依賴:G4, function_def

葉節點依據:function_def + injective_surjective_def + cartesian_product_def + forall_intro

函數 ∅→∅ 是 ∅×∅=∅ 的子集合,且每個定義域元素恰有一個值;定義域沒有元素,條件空真,所以唯一的子集合 ∅ 就是唯一的函數,記為 ε。單射空真(沒有兩個輸入可比較),滿射也空真(陪域沒有需要達到的目標),因此 ε 是雙射;按纖維看,陪域沒有目標,「每個纖維恰有一個元素」同樣空真。這對應 a2:|∅|=0=|∅| 時有唯一的空雙射。

S16 · implies

操作前

\text{S07, S09, S10, S12, S13, S15}

操作後

f\ \text{bijective};\ g\ \text{neither};\ \exists\,A\to B;\ \nexists\,A\to C;\ \exists!\,\varnothing\to\varnothing

條件:無

規則:and_intro_elim · 依賴:S07, S09, S10, S12, S13, S15

葉節點依據:and_intro_elim

把結果分成兩類問題整理。給定函數:f 的纖維概況 (1,1,1),是雙射;g 的纖維概況 (2,0,1),既非單射也非滿射。存在性:A→B 有雙射(見證 f),A→C 沒有,∅→∅ 恰有一個。

局部子步與引理

S03.1 · implies

操作前

f\ \text{injective},\ a,a'\in f^{-1}(\{b\})

操作後

a=a'

條件:無

規則:injective_surjective_def · 依賴:S02, injective_surjective_def, set_builder

葉節點依據:injective_surjective_def + set_builder + eq_refl_symm_trans

(⇒)設 f 單射,a、a′ 都在 b 的纖維中。依集合建構式,f(a)=b 且 f(a′)=b,所以 f(a)=f(a′);單射給出 a=a′。纖維中任兩個元素都相等,故至多一個元素。

S03.2 · implies

操作前

\forall b:\ |f^{-1}(\{b\})|\le 1,\ f(a)=f(a')

操作後

a=a'

條件:無

規則:injective_surjective_def · 依賴:S02, set_builder, function_def

葉節點依據:function_def + set_builder + injective_surjective_def

(⇐)設每個纖維至多一個元素,且 f(a)=f(a′)。令 b=f(a),因 f 是 A→B 的函數,b∈B。依集合建構式 a 與 a′ 都在 b 的纖維中;該纖維至多一個元素,所以 a=a′,即 f 單射。S03.1 與 S03.2 合起來證得引理 L_inj_fiber。

S04.1 · equivalent

操作前

\exists a\in A:\ f(a)=b

操作後

f^{-1}(\{b\})\neq\varnothing

條件:無

規則:set_builder · 依賴:S02, injective_surjective_def, set_builder

葉節點依據:set_builder + injective_surjective_def

滿射的定義是:每個 b∈B 都有某個 a∈A 使 f(a)=b。對固定的 b,「有某個 a 使 f(a)=b」恰好表示集合 {a∈A ∣ f(a)=b} 有元素,即纖維非空。對所有 b 取全稱,得到引理 L_surj_fiber。

S12.1 · case_split

操作前

h:\{1,2,3\}\to\{4,5\}

操作後

h(1)=h(2)\ \lor\ h(1)\neq h(2)

條件:無

規則:case_analysis · 依賴:G3, function_def

葉節點依據:case_analysis + injective_surjective_def

任取函數 h:A→C,分兩種情形,兩者涵蓋一切可能。情形一 h(1)=h(2):因 1≠2,h 已不是單射,這個情形完成。情形二 h(1)≠h(2) 在 S12.2、S12.3 處理。

S12.2 · implies

操作前

h(1)\neq h(2),\ h(1),h(2)\in\{4,5\}

操作後

\{h(1),h(2)\}=\{4,5\}

條件:無

規則:case_analysis · 依賴:S12.1, G3

葉節點依據:case_analysis + set_extensionality

情形二:h(1) 是 4 或 5。若 h(1)=4,則 h(2)≠4,而 h(2)∈{4,5},所以 h(2)=5;若 h(1)=5,同理 h(2)=4。兩個子情形都得到 {h(1),h(2)}={4,5}。

S12.3 · implies

操作前

h(3)\in\{4,5\}=\{h(1),h(2)\}

操作後

h(3)=h(1)\ \lor\ h(3)=h(2)

條件:無

規則:injective_surjective_def · 依賴:S12.2

葉節點依據:injective_surjective_def + case_analysis + forall_intro

h(3) 也在 {4,5}={h(1),h(2)} 中,所以 h(3)=h(1) 或 h(3)=h(2);而 3≠1、3≠2,兩種都違反單射。情形一(S12.1)與情形二都得到 h 不是單射,h 又是任意取的,S12.1 至 S12.3 證得引理 L_no_inj_3_2。

逐步反向審查

  • S16 · sufficient_goal_reduction · S07, S09, S10, S12, S13, S15, and_intro_elim — 目標 G 是 goal 中的全部判定。足夠條件 H 是各子結論的合取,每一項都已由前面的步驟從已知正向證成;H⇒G 只用合取引入,沒有把 G 當作前提。
  • S15 · premise_audit · function_def, injective_surjective_def, cartesian_product_def, forall_intro — 所有條件都是對空集合的全稱,因此空真;唯一性來自 ∅×∅ 只有一個子集合。
  • S14 · premise_audit · count_maps, numeric_evaluation — 計數規則是前置知識,本稿不證;這一步只作說明,主結論 S07、S09 至 S13 不依賴它。
  • S13 · premise_audit · S07, exists_intro — 存在引入只需一個見證;反向(存在某個雙射 ⇒ 每個函數都是雙射)不成立,S11 已給反例。
  • S12.3 · premise_audit · injective_surjective_def, case_analysis, forall_intro — 兩個情形各自推出同一結論,h 沒有附加假設,所以可推廣到所有 h。
  • S12.2 · premise_audit · case_analysis, set_extensionality — 用到的是 C 只有兩個元素;兩個子情形窮盡 h(1) 的可能值。反向不需要。
  • S12.1 · premise_audit · case_analysis, injective_surjective_def — 兩個情形是「相等或不相等」,互補且窮盡;情形一直接由單射定義否定。
  • S12 · premise_audit · L_no_inj_3_2, injective_surjective_def — 雙射必須單射;既然沒有單射的 h,也就沒有雙射。這裡不宣稱 A→C 沒有滿射(例如 1↦4、2↦5、3↦5 就是滿射)。
  • S11 · premise_audit · S09, quantifier_negation, exists_intro — 一個明確反例就足以否定全稱命題;本步不宣稱大多數函數都不是雙射(那是 S14 的計數)。
  • S10 · premise_audit · L_surj_fiber, S08, S01 — 結論依賴 5∈B;若有人把陪域縮成 {4,6},那是另一個函數,不影響本題對宣告陪域的判定。
  • S09 · premise_audit · L_inj_fiber, contrapositive, S08 — 只要一個纖維大於一就足以否定單射;本步不宣稱其他纖維的任何性質。
  • S08 · inverse_equivalence · set_builder, set_extensionality, G2 — A 的三個元素都已對每個目標檢查;列出的元素滿足條件,其餘不滿足,集合逐元素相同。
  • S07 · premise_audit · S05, S06, G1 — 需要的是陪域中的每個目標都被檢查到;B 的三個元素都在 S06 中出現,沒有遺漏的目標。本步只用 S05 的 ⇐ 方向。
  • S06 · inverse_equivalence · set_builder, set_extensionality, G1 — 每個列出的元素都滿足 f(a)=b,A 中其餘兩個元素都已驗證不滿足;依集合外延性,兩邊的集合相同,雙向成立。
  • S05 · inverse_equivalence · S03, S04, and_intro_elim, order_basics — 每個合取項都換成等價的條件,合取保持等價;對整數,n≤1 且 n≥1 ⇔ n=1 雙向成立(反對稱與自反)。
  • S04.1 · inverse_equivalence · set_builder, injective_surjective_def — 集合建構式的成員條件本身是雙向的:纖維中的元素就是所需的 a,所需的 a 也就是纖維中的元素。
  • S04 · inverse_equivalence · L_surj_fiber — S04.1 的等價對每個 b 雙向成立,對所有 b 同時取全稱後仍雙向成立。
  • S03.2 · premise_audit · function_def, set_builder, injective_surjective_def — 關鍵是 b=f(a) 屬於 B,這樣才能套用「每個 b∈B 的纖維」這個假設;這由 f 是總函數保證。
  • S03.1 · premise_audit · injective_surjective_def, set_builder, eq_refl_symm_trans — 只用到單射定義與等號的對稱、傳遞;這是單向推論,反向由 S03.2 另行證明。
  • S03 · inverse_equivalence · L_inj_fiber — ⇒ 由 S03.1 證明,⇐ 由 S03.2 證明;兩個方向都有理由,所以是等價。
  • S02 · premise_audit · fiber_def, image_preimage_def — 只是命名一個對所有函數都存在的集合,沒有宣稱任何纖維非空或只有一個元素。
  • S01 · premise_audit · G1, G2, function_def — 此步只讀表並核對函數定義的兩個要求(每個輸入有值、值唯一),不推出新事實。若把陪域改成值的集合,後面的滿射判定會改變,所以陪域必須照題目宣告。

錯誤控制與反例

大小相等不等於給定函數是雙射

MKO 的誤解是由 |A|=|B| 直接判定給定 f 為雙射。g 就是反例:|A|=|B|=3,但 g(1)=g(2)=4 且 5 無原像。A→B 的 27 個函數中只有 6 個是雙射(S14)。大小相等只回答「是否存在某個雙射」(S13),判定給定函數必須看它的纖維。

只查一個條件不夠

只驗單射或只驗滿射會漏判。k:{1,2}→{4,5,6},k(1)=4、k(2)=5 是單射,但 6 的纖維是空的,不是滿射。對大小相等的有限集合,單射與滿射確實互相推出,但那是需要另行證明的定理,不能直接假設;在無限集合上它也不成立,例如 ℕ→ℕ 的 n↦n+1 是單射而非滿射。本稿對 f 經由纖維概況同時核對兩個條件。

空纖維不可漏

若只從 g 的表列出出現過的值,會得到 4↦{1,2}、6↦{3},而遺漏目標 5。纖維概況必須按宣告的陪域逐一列出,5 的空纖維正是 g 不滿射的證據(S10)。

  • |A|=|B|=3,所以 g 是雙射 → reject — g(1)=g(2)=4 且 1≠2,g 不是單射;5 的纖維為空,g 不是滿射。
  • k:{1,2}→{4,5,6},k(1)=4、k(2)=5 是單射,所以是雙射 → reject — 6 的纖維是空集合,k 不是滿射;而且 |{1,2}|=2≠3,根本不存在 {1,2}→{4,5,6} 的雙射。
  • g 不是雙射,所以 A→B 之間不存在雙射 → reject — 給定函數與存在性是不同問題;f 就是一個 A→B 的雙射(S07、S13)。
  • 空集合之間沒有函數,所以 ∅→∅ 談不上雙射 → reject — 空函數 ε=∅ 是 ∅→∅ 的唯一函數,單射與滿射皆空真,所以它是雙射(S15)。

結論與限制

f 的纖維概況(按 4、5、6)為 (1,1,1),所以 f 是雙射;g 的纖維概況為 (2,0,1),g 既非單射(g(1)=g(2))也非滿射(5 無原像),雖然 |A|=|B|=3。一般地,總函數是雙射當且僅當每個纖維恰有一個元素(S05)。存在性另成一題:A→B 存在雙射(f),{1,2,3}→{4,5} 不存在任何雙射(實際上沒有單射),∅→∅ 恰有一個空雙射。

  • 一般結論「有限集合間存在雙射 ⇔ 元素個數相同」取自前置規則 finite_counting_basics,本稿未證;本稿只以見證 f 回答 A→B,並直接證明 3 元素集合到 2 元素集合沒有單射。
  • 計數規則 count_maps(27 與 6)為前置知識,S14 只作說明,主結論不依賴它。

驗證及來源綁定

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

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

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