函數與關係把積集變成有結構的數學對象:函數要求輸出唯一,關係記錄一般的聯繫。
函數是特別的關係
定義
函數
由 X 到 Y 的函數,是 X×Y 的一個子集,並且要求 X 中每個 x
都只會配對到 Y 中唯一一個 y。
這就是本單元採用的集合論定義。
同一件事可以用幾種方式去讀:
- X 是 domain,即輸入集合。
- Y 是 target,即可能輸出的集合。
- f 的圖像(graph)是 {(x,f(x)):x∈X},即由輸入 x∈X 與對應輸出 f(x) 組成的有序對集合。
- image 是實際會出現的輸出。
- preimage 是會落入某個輸出集合的輸入。
常見錯誤
函數不可以令一個輸入對應多個輸出
關係可以令一個輸入連到多個輸出,但函數不可以。每個輸入都必須有且只有一個輸出。
如何檢驗一個候選圖像
子集 Δ⊂X×Y 是函數 X→Y 的圖像,當且僅當每個
x∈X 都恰好出現在一個有序對 (x,y)∈Δ 中。漏掉輸入違反
「存在」,同一輸入對應兩個不同輸出則違反「唯一」。例如以下
Δ={(n+10,n):n∈N}⊂N×Z
漏掉輸入 0,因為 n+10=0 要求 n=−10;所以它不是由 N
到 Z 的函數圖像。若改為 n∈Z,每個
x∈Z 都有唯一 n=x−10,便是由 Z 到 Q
的函數圖像。{(x2,x3):x∈Q} 則既漏掉負輸入,又有
(1,1) 和 (1,−1) 兩個輸出,不能成為函數圖像。
常見錯誤
domain 會受語境影響
1/x 不是一個不加限定就完整的函數。它可以是 R∖{0} 上的函數,
或者 Q∖{0} 上的函數;但無論如何,也不可以包含 0。
所有函數所組成的集合
當函數已經被定義為有序對集合後,我們亦可以建立「以函數為元素」的集合。
若 A 與 B 是集合,記號
BA
表示所有由 A 到 B 的函數所組成的集合。
這個記號不是偶然的。若 A 有 n 個元素,而 B 有 m 個元素,一個
A→B 的函數就是替 A 的每個輸入各選一個 B 中的輸出。因此共有
mn 個這樣的函數。例如 A={a,b,c}、B={0,1} 時,BA
有 23=8 個函數。這正是 ∣P(A)∣=2{∣A∣} 背後的同一個計數原理。
例題
把 BA 讀成函數集合
令 A={a,b}、B={0,1}。那麼 BA 恰有四個函數:
f1f2f3f4a0011b0101每一行是一整個函數,而不是某一個函數的一個值。
如何仔細閱讀一個函數
例題
平方函數會有重複輸出
考慮 f(x)=x2。
那麼 f(−2)=4 同 f(2)=4,也就是不同輸入可以有同一個輸出。這個是允許的。
不允許的是同一個輸入有兩個不同輸出。
例如,把 y2=x 視為由 x 去 y 的規則時,x=4 會有 y=2 同
y=−2,所以不是函數。
函數的 graph 是一個非常特別的積集子集:每一條垂直線在可行的輸入位置只會撞到一次。
像、原像與合成
對 f:X→Y,本課程中會用 image 這個詞說明三件相關但不同的事:
- f(x) 是單一輸入 x 的像。
- 若 A⊂X,則 f(A)=f(x)∣x∈A 是集合的像。
- f(X) 是整個函數的像,即實際出現過的輸出。
原像定義為
f−1(B)={x∈X∣f(x)∈B}.
就算 f 沒有逆函數,f{−1}(B) 仍然有意義。
合成定義為
(g∘f)(x)=g(f(x)).
次序很重要:g∘f 也就是「先做 f,再做 g」。
例題:計算函數合成
對 f(x)=x+1、g(x)=x2、h(x)=x−7,直接代入得到
f∘fg∘fh∘f:x↦x+2,:x↦(x+1)2,:x↦x−6,f∘gg∘gh∘g:x↦x2+1,:x↦x4,:x↦x2−7,f∘hg∘hh∘h:x↦x−6,:x↦(x−7)2,:x↦x−14.
最右邊的函數先作用。
像與原像的集合恆等式
設 f:X→Y、A,B⊂X、C,D⊂Y。像滿足
f(A∪B)=f(A)∪f(B),f(A∩B)⊂f(A)∩f(B)
第一式的兩個包含可由元素追蹤得到:y∈f(A∪B) 時,其原像在
A 或 B;反過來,f(A) 或 f(B) 中的原像都在 A∪B。
第二式的包含同理,但等號可能失敗。取 X={1,2}、Y={0}、
f(1)=f(2)=0、A={1}、B={2},左邊是空集而右邊是 {0}。
原像保留並集與交集:x∈f−1(C∪D) 當且僅當
f(x)∈C 或 f(x)∈D,正好等價於右邊;交集把「或」改為「且」,
同樣得到兩個包含。若補集分別取在目標 Y 與定義域 X 中,還有
f−1(C∖D)=f−1(C)∖f−1(D),f−1(Y∖C)=X∖f−1(C)
第一式的條件是 f(x)∈C 且 f(x)∈/D;第二式清楚標明兩個
補集所使用的 ambient set。
例題
比較 f(x)=x2 的像與原像
設 f:R→R 由 f(x)=x2 定義,而
A={−2,−1,0,1,2},B={0,1,4}.那麼
f(A)={0,1,4}.而且
f−1(B)={−2,−1,0,1,2},每個列出的點都映入 B。反過來,若 x2∈{0,1,4},則 x2=0、x2=1 或 x2=4。分別因式分解得 x=0、x=±1 或 x=±2,所以沒有其他實數原像。
如果改用 C={4},就有
f−1(C)={−2,2}.
單射、滿射、雙射
定義
三個常用詞
- 單射:不同輸入不會碰撞。
- 滿射:目標集合每個值也會被命中。
- 雙射:同時單射與滿射。
等價說法也很有用:
- f 單射 iff f(x1)=f(x2) 蘊含 x1=x2
- f 滿射 iff f(X)=Y
- f 雙射 iff 每個目標值都剛好被命中一次
例題:直接判斷單射與滿射
首先,X={0,1,3,5}、Y={5,7,11} 的函數中,5 由兩個輸入取得,
所以不是單射。完整給定值是 f(0)=7、f(1)=5、f(3)=11、
f(5)=5;5,7,11 都出現,故是滿射。
其次,對 f(x)=x5+3x+1(定義域 {−2,−1,0,1,2},目標集合
Z),五個輸出是
f(−2)=−37,f(−1)=−3,f(0)=1,f(1)=5,f(2)=39
它們互不相同,所以是單射;例如 0 不在像中,所以不是滿射。
最後,f:Z→Z、f(x)=x2+x 不是單射,因為
f(0)=f(−1)=0;它也不是滿射,因為 x(x+1) 必為偶數,不能取得奇數。
用箭嘴區分定義
箭嘴圖可以顯示唯一輸出、碰撞,以及 target 是否被覆蓋。
用箭嘴閱讀函數用同一張箭嘴圖分清 domain、target、image、preimage、單射、滿射與合成。
domain 與 target
函數 f:X->Y 是一種關係,其中 X 內每個輸入在 target Y 中都有唯一一個輸出。
graph 作為有序對
graph 把同一批箭嘴記成 X x Y 內的有序對,而且每個輸入只出現在一個有序對中。
image 與 preimage
image 是向前讀到被命中的輸出;preimage 是從輸出集合反向讀回會落入其中的輸入。
單射
單射表示沒有碰撞:若兩個輸入有同一輸出,它們其實必須是同一個輸入。
滿射
滿射表示實際 image 等於整個 target,因此沒有 target 元素被漏掉。
合成
對 g o f,要先做 f,再把得到的輸出放入 g。
同一張箭嘴圖可以把主要定義分清楚。函數要求每個輸入剛好有一個輸出;單射禁止碰撞;滿射覆蓋 target;合成則把一個輸出接到下一個映射。
定理
逆函數存在當且僅當雙射
對函數 f:X→Y,逆函數存在,當且僅當 f 是雙射。
證明:為甚麼雙射會有逆
如果 f 是單射又滿射,那麼對每個 y∈Y 都存在唯一一個 x∈X
使 f(x)=y。
這個唯一性讓我們可以定義一個新函數 g:Y→X,令 g(y) 就是滿足
f(x)=y 的唯一 x。
按定義,g(f(x))=x 同 f(g(y))=y,所以 g 就是 f 的逆函數。
證明:逆函數唯一性與存在性
若 g,h:Y→X 都是 f:X→Y 的逆函數,則
g=g∘idY=g∘(f∘h)=(g∘f)∘h=idX∘h=h
所以逆函數若存在便唯一。若 f:X→Y、g:Y→Z、k:Z→W,
對每個 x∈X 有
k∘(g∘f)(x)=k(g(f(x)))=(k∘g)∘f(x)
因此合成滿足結合律。下文關於逆函數蘊含關係的證明將說明必要性:有逆函數就必為雙射;上面的構造則給出雙射的逆函數。
例題
單射同非單射例子
n↦n+1(定義在 Z 上)是單射亦是滿射,所以是雙射。
x↦x2(定義在 R 上)不是單射,因為 1 同 −1 有同一個像。
x↦ex(定義在 R 上)是單射,但不是滿射去 R,因為它打不到非正數。
常見錯誤
不要將原像與逆函數混淆
f{−1}(B) 永遠有意義,只要 B 是 target 的子集。真正的逆函數 f{−1} 只在 f 是雙射時先存在。
左逆與右逆
- 左逆 h 代表 h∘f=id
- 右逆 g 代表 f∘g=id
一般情況下,兩者不一定相同。
例題
一個有左逆但沒有右逆的映射
設 X={a,b,c},Y={α,β,γ,δ}。定義
f1(a)=α,f1(b)=β,f1(c)=γ.這個映射是單射但不是滿射,因為 δ 沒有被命中。
所以它可以有左逆,但不可以有右逆。
例如定義 h:Y→X:
h(α)=a,h(β)=b,h(γ)=c,h(δ)=a.那麼就有 h∘f1=idX。
缺少輸出 δ 排除了 f1∘g=idY,所以沒有右逆。
例題
一個有右逆但沒有左逆的映射
定義 f2:Y→X 如下:
f2(α)=a,f2(β)=a,f2(γ)=b,f2(δ)=c.這個映射是滿射但不是單射,所以可以有右逆但沒有左逆。
一個右逆是 g:X→Y,令
g(a)=α,g(b)=γ,g(c)=δ.那麼就有 f2∘g=idX。
碰撞 f2(α)=f2(β) 排除了左逆。
定理
有限自映射:有左逆已足以推出可逆
設 X 是有限集合,且 g:X→X。如果存在 h:X→X 滿足
h∘g=idX,那麼 g 是雙射,而且 h 亦是 g 的右逆。
證明:有限自映射有左逆時可逆
等式 h∘g=idX 首先說明 g 是單射:若 g(x1)=g(x2),兩邊
再作用 h,就得到 x1=x2。
對有限集合而言,由 X 到自身的單射必然也是滿射。因此 g 是雙射。由於
逆函數唯一,而 h 已經在左邊抵消 g,所以 h 必須就是 g 的逆函數。
因此亦有 g∘h=idX。
證明:逆映射的蘊含及其逆向構造
設 f:X→Y、h:Y→X。若 h∘f=idX,則 f(x)=f(x′) 推出 x=h(f(x))=h(f(x′))=x′,所以有左逆必為單射。若 f∘h=idY,每個 y 都等於 f(h(y)),所以有右逆必為滿射。
反過來,設 f 單射且 X=∅。固定一個 x0∈X;當 y∈f(X) 時令 h(y) 為唯一原像,否則令 h(y)=x0。這給出左逆,不需要選擇公理,因為像外只需使用同一個固定值。若 X=∅ 而 Y 非空,空集到 Y 的單射沒有左逆,因為不存在 Y→∅ 的映射。若兩者皆空,空映射就是自己的逆。
對滿射,構造右逆要在每個纖維 f−1({y}) 中選一個元素。明確構造的選擇或有限次選擇不需要一般選擇公理;斷言每個任意滿射都有右逆則使用選擇公理。這與雙射的唯一原像不同,後者無需這樣的選擇原則。
例題
具有完整左逆的無限包含映射
令 i:N→Z 為 i(n)=n,其中 0∈N。定義 h:Z→N:當 z≥0 時取 h(z)=z,當 z<0 時取 h(z)=0。對每個 n 都有 h(i(n))=n。但 i 沒有右逆,因為負整數(例如 −1)在 i 下沒有原像。
關係
定義
關係
X 同 Y 之間的關係,是 X×Y 的任何子集。
如果 X=Y,我們就直接叫它做 X 上的關係。
寫 xRy 也就是 (x,y)∈R。
關係是比函數更一般的概念。函數只是一種特殊關係,附帶「每個輸入剛好一個輸出」這條附加規則。
對 R⊂X×Y:
- domain 是同至少一個 y 有關聯的 x
- image / range 是被至少一個 x 命中的 y
例題
關係未必是函數
設 X 是國家集合,Y 是城市集合。
「y 是 x 的首都」這個關係是 X×Y 上的關係。它是否函數,要看時代與國家。
y2=x(定義在 Z×Z 上)也是關係,但如果視為由 x 去 y 的規則,就不是函數,
因為一個輸入可以有多個輸出。
關係可以處理「有連結,但不要求唯一性」這種情況。順序與等價類之後都要用到這個語言。
同一個集合上的關係
X×X 上的關係尤其重要。
定理
四個常用性質
一個 X 上的關係可以有以下性質:
- Reflexive:每個 x 都有 xRx
- Symmetric:xRy 蘊含 yRx
- Antisymmetric:如果 xRy 同 yRx,那麼就要 x=y
- Transitive:如果 xRy 同 yRz,那麼就要 xRz
兩種特別重要的關係是:
- partial order:reflexive + antisymmetric + transitive
- equivalence relation:reflexive + symmetric + transitive
關係性質與反例
令 X=P({1,2,3,4}),並以 x∩y=∅ 定義 xRy。
它不是自反,因為非空集合 {1} 與自身的交集不為空;它是對稱,
因為交集滿足交換律;它不是傳遞,取 x={1}、y=∅、
z={1},則 xRy 且 yRz,但不滿足 xRz;它也不是反對稱,
因為 {1}R{2} 且 {2}R{1},而兩個集合不相等。
再檢驗以下整數上的關係:
- x−y 為奇數不是自反,因為 x−x=0;它雖然對稱,卻不傳遞,
例如 0R1、1R2,但 0 不與 2 相關。
- x+y 為偶數是等價關係。自反及對稱顯然;若 x+y 與 y+z 都是偶數,
則 (x+z)=(x+y)+(y+z)−2y 也是偶數。等價類是偶數類與奇數類。
- x+y=0 不是自反(除 0 之外),也不傳遞:1R(−1)、
(−1)R1,但 1 不與自身相關。
- x∣y∣=∣x∣y 是自反及對稱,因為它等價於「兩個整數同號,或至少
一個為零」。但它不傳遞:1R0 且 0R(−1),而 1 不與 −1 相關。
因此它不是等價關係,也沒有等價類可列出。
這些反例說明,判斷等價關係必須逐項檢驗自反、對稱、傳遞三個條件。
symmetric 同 antisymmetric 好容易混淆,但它們意思完全不同:
- symmetric:見到單向箭咀就要兩邊都有
- antisymmetric:如果兩邊都有,那麼兩個元素就必須相等
例題
整除關係是偏序
在正整數 Z>0 上寫 a∣b 表示 a 整除 b。
這個關係是 reflexive,因為每個數都整除自己。
它是 antisymmetric,因為如果 a∣b 同 b∣a,在正整數之中就有 a=b。
它亦是 transitive,因為整除可以沿鏈傳遞。
所以整除是 partial order。
這裏必須限定正整數。在全體整數上,1∣−1 且 −1∣1,但
1=−1,所以反對稱性會失敗。
偏序不只是一個名詞。它幫我們整理「包含」「細化」「整除」這些有結構的關係。
例題
子集關係作為一個小型偏序
令 X={a,b},並考慮 P(X),即 X 的所有子集所組成的集合。
用包含關係排列 P(X)。
最底層元素是 ∅,最頂層元素是 {a,b},中間兩個元素是
{a} 和 {b}。直接相鄰的 covering relations 只有
∅⊂{a},∅⊂{b},{a}⊂{a,b},{b}⊂{a,b}.Hasse 圖只畫這些直接覆蓋關係;較長的比較則由傳遞性自動理解。
例題
一個簡單的等價關係
模 m 同餘是 Z 上的等價關係:兩個整數有相同餘數時相關。模 3 時,
整數分成餘數為 0、1、2 的三類,這些類分割整個 Z。
證明:模 m 同餘
固定 m∈Z 且 m>0。定義 a≡b(modm) 當且僅當
m∣(a−b)。它是 Z 上的等價關係:m∣0 給出自反性;
若 m∣(a−b),則 m∣(b−a)=−(a−b),給出對稱性;若
m∣(a−b) 且 m∣(b−c),則 m 整除兩者之和 a−c,給出傳遞性。
其等價類為
[a]m={b∈Z:m∣(a−b)}
也就是相同餘數的整數所組成的 residue class。
等價類與商集
等價關係規定哪些差別不再區分。要把一個等價類當成新的數學對象,必須先證明:類中的不同代表元確定同一個類。下面的劃分定理使這一步精確化;整數和有理數的構造會反覆使用它。
定義
等價類
設 R 是 X 上的等價關係。對 x∈X,
x 的等價類定義為
[x]R={y∈X∣yRx}.
定義
商集
如果 ∼ 是 X 上的等價關係,那麼所有等價類組成的集合記作 X/∼。
定理
等價類會分割集合
如果 R 是 X 上的等價關係,那麼等價類會覆蓋整個集合,而且任何兩個等價類只會相等或者互相不相交。
等價類把彼此等價的代表元包裝成一個對象,商集再把這些類作為元素處理。
證明:相交的等價類相等
自反性給出 xRx,所以每個 x∈X 都屬於 [x]R,等價類覆蓋 X。
設 z∈[x]R∩[y]R,則 zRx 且 zRy。若 u∈[x]R,有 uRx;由對稱性得 xRz,再由傳遞性得 uRz 及 uRy。因此 u∈[y]R,證明 [x]R⊆[y]R。
反過來,若 v∈[y]R,有 vRy;對稱性給出 yRz,傳遞性依次給出 vRz 和 vRx,故 v∈[x]R,證明 [y]R⊆[x]R。兩個包含關係推出相等。因此不相等的等價類不能相交,各個不同的等價類構成 X 的分割。
基數與運算語言
基數表示大小,但在集合論中,正確的大小比較不一定只是普通計數。兩個集合
X 和 Y 同勢,意思是它們之間存在一個雙射:
∣X∣=∣Y∣表示存在一個雙射 X→Y.
有限集合中,這與元素個數一致;無限集合中則需要更謹慎地比較。
例題
N 與 Z 之間的第一個雙射
0,1,−1,2,−2,3,−3,…這對應到一個函數 f:N→Z,例如
f(0)=0,f(2k+1)=k+1,f(2k+2)=−(k+1).每個整數都恰好出現一次,所以這是一個雙射枚舉。
例題
從 N×N 到 N 的一個單射
練習會問:能否把一個自然數有序對編碼成一個自然數?一個乾淨答案是
F(m,n)=2m3n.這確實定義了一個函數 F:N×N→N,因為對每個 (m,n),
2m3n 都是自然數。
要證 F 是單射,假設
F(m,n)=F(m′,n′).也就是
2m3n=2m′3n′.唯一素因數分解說明,一個正整數分解成素數冪的方式只有一種。因此兩邊的
2 的指數必須相同,3 的指數亦必須相同:
m=m′,n=n′.所以兩個不同有序對不可能被送到同一個自然數。
定義
把運算讀成函數
集合 S 上的一個 n 元運算,是一個函數
Sn→S.例如加法是二元運算,因為它取一對輸入,並回傳同一個集合中的一個輸出。
0 元運算初看可能有些奇怪。它是沒有輸入位置、但有一個 S 中輸出的函數,
所以可以理解為在 S 中指定一個特別元素。
常見錯誤
常見錯誤
不要將原像與逆函數混淆
f{−1}(B) 永遠有意義,只要 B 是 target 的子集。真正的逆函數 f{−1} 只在 f 是雙射時先存在。
常見錯誤
對稱不等於反對稱
≤ 是反對稱但不是對稱。等號是對稱又反對稱,而正整數
Z>0 上的整除是反對稱但不是對稱。
常見錯誤
關係不做函數可以有兩種錯法
它可以令同一個輸入對應多個輸出,亦可以令某些輸入完全沒有輸出。
小檢查
思考檢查
x≤y 在實數上是關係嗎?是函數嗎?
先問它是不是 R×R 的子集,再問每個輸入有沒有唯一輸出。
解答 · 答案
它是關係,因為它是 R×R 的子集;但它不是函數,因為同一個輸入 x
可以對應許多個 y。
思考檢查
f{−1}(B) 在 f 不是雙射時還有沒有意義?
分清 preimage 同 inverse function。
解答 · 答案
思考檢查
如果 A 有三個元素,而 B 有兩個元素,BA 中有多少個函數?
對 A 的每個輸入,各自在 B 中選一個輸出。
解答 · 答案
思考檢查
若 g:X→X 有左逆且 X 是有限集合,證明 g 可逆時第一步應證明 g 有甚麼性質?
使用等式 h∘g=idX。
解答 · 答案
先證 g 是單射。由於 X 有限,單射推出滿射,因此 g 是雙射。
思考檢查
為甚麼 F(m,n)=2m3n 定義了由 N×N 到 N 的單射?
解答 · 答案
如果 2m3n=2{m′}3{n′},唯一素因數分解會迫使 m=m′ 且 n=n′。
因此相同輸出推出相同有序對,所以 F 是單射。
思考檢查
如果一個關係是 reflexive、symmetric、transitive,它叫甚麼?
解答 · 答案