JOVANA
Library Glossary Getting Started Three Levels Fields How it works Mission
Join the mission
All guides

集合、函數與三種映射

集合是分析學的名詞,函數是它的動詞。構造集合及其運算,把函數定義為映射,並認識單射、滿射與雙射——決定兩個集合何時「一樣大」的三種性質。

集合及其運算

[[ana-set|集合]]是一些對象的搜集,這些對象是它的元素。我們寫 x ∈ A 表示「x 在 A 中」,並通過列舉構造集合,{1, 2, 3},或通過性質,{x ∈ ℝ : x² < 2}。當 A 的每個元素都在 B 中時,A 是 B 的[[subset|子集]](A ⊆ B)——注意這是一個 ∀ 命題:∀x (x ∈ A ⇒ x ∈ B)。兩個集合相等恰當 A ⊆ B 且 B ⊆ A,這就是為何集合相等通常用雙向包含來證明。

由兩個集合我們構成並集 A ∪ B(在至少一個中)、交集 A ∩ B(在兩者中)、差集 A \ B(在 A 中但不在 B 中),以及相對某全集的補集 Aᶜ。每個運算都是偽裝的連接詞:∪ 是「或」,∩ 是「且」,補集是「非」。這就是為何德摩根律——(A ∪ B)ᶜ = Aᶜ ∩ Bᶜ 與 (A ∩ B)ᶜ = Aᶜ ∪ Bᶜ——看起來與上一篇的量詞否定規則一模一樣。

作為映射的函數

[[function-map|函數]] f : A → B 把定義域 A 的每個元素指派給陪域 B 中恰好一個元素。這裡藏著兩個要求:每個 x 都必須有輸出(全定義),且絕不有兩個輸出(單值)。當你用公式或法則定義 f 時,檢查它是否[[well-defined|良定義]],就是驗證這兩個要求確實成立——例如,一條作用在分數上的法則必須對 1/2 與 2/4 給出相同的答案。

值域(像) f(A) = {f(x) : x ∈ A} 是真正被取到的值的集合;它可能小於陪域 B。把定義域、陪域與值域區分清楚——分析學的大部分內容,正是在定義域固定後控制函數的值域(它的有界性、它的上確界)。

單射、滿射、雙射

[[ana-injection|單射]](一對一)從不把兩個輸入合併:f(x) = f(y) ⇒ x = y。[[surjection|滿射]](映上)覆蓋一切:∀b ∈ B, ∃a ∈ A 使 f(a) = b——它的值域是整個 B。[[bijection|雙射]]同時兼具二者,而恰好是雙射擁有雙側逆映射 f⁻¹。雙射是我們把「一樣大」的想法精確化的方式:當 A 與 B 之間存在某個雙射時,它們有相同的[[cardinality|基數]]。這一條定義驅動了整篇下一份指南。

Sorting three maps on the natural numbers N = {0,1,2,...}.

(a) f(n) = 2n               doubling
    Injective? f(n)=f(m) => 2n=2m => n=m.  YES one-to-one.
    Surjective onto N? 3 is never hit (no n with 2n=3).  NO.
    => injection, not surjection. Image = even numbers.

(b) g(n) = floor(n/2)       0,0,1,1,2,2,...
    Injective? g(0)=g(1)=0, so two inputs collapse.  NO.
    Surjective onto N? every k = g(2k).  YES onto.
    => surjection, not injection.

(c) h(n) = n+1 on positive integers {1,2,3,...} -> {2,3,4,...}
    Injective and onto its codomain {2,3,...}.  BIJECTION.
    Inverse h^{-1}(m) = m-1.

Note (a): N is in bijection with a PROPER subset of itself
(the even numbers, via n <-> 2n). For infinite sets this is
allowed and normal -- it is exactly what "infinite" feels like.
單射 = 無碰撞;滿射 = 無遺漏;雙射 = 二者兼備,因而可逆。