集合及其運算
[[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.