文 / 翁昌黎(《孔恩vs.波普》中文譯者)
「道生一, 一生二, 二生三, 三生萬物」-老子
介紹完配對公設之後,我們已經具備了製造多達兩個成員的機器,宛如造出兩塊錢的印鈔機,儘管我們還沒有將錢實際印出來。但集合論的「創業」過程並非一帆風順,羅素詭論就有如金融風暴般席捲我們的理念世界,我們只好先騰出手將它擺平之後再繼續「積累資本」。現在就讓我們繼續用公設化集合論手頭上的這兩塊錢來白手起家吧!
那就先回顧一下目前手頭上有哪些武器可資利用。第一個外延公設只是規定集合之間的辨認程序,就是在什麼情況下兩個集合等同,卻沒告訴我們可以構造出什麼樣的集合。這就好比我告訴你兩張一模一樣的50元鈔票可以換成一張100元的鈔票,但你卻連5毛錢的銅板都沒見過一樣。第二個分割公設也好不到哪裡去,它雖然把羅素詭論解決了,但並沒有允諾給我們任何集合。它說的是可以從某個已經存在的集合X中切割出滿足特定條件的集合Y。從集合論的「創業」觀點來看,這個公設類似一紙空合約,因為如果你已經擁有100元那你鐵定擁有其中的20元。
前兩個公設只規定集合應該遵守的法規但沒有告訴我們如何把集合建立起來。現在來看ZF3空集合公設,它給了我們一個集合,可是裡面卻什麼都沒有,等於給了張空頭支票。但別灰心,因為整個故事就從這張空頭支票開始。
一般我們用記號Ø 來表示空集合,它也可以寫成{ },表示集合裡頭沒有任何成員。而集合Ø的存在是空集公設直接規定的:
ZF3 ∃x∀y¬ (y∈ x)
說的是∃(存在)x這樣的集合,¬表示邏輯符號「非」(not),所以以上公設是說任何集合都不是x的成員,所以它是一個一無所有的集合。但我們所熟悉的自然數0, 1, 2, 3…等卻都可以從空集合依序造出來。
具體該怎麼做? 首先我們用Ø來定義0,所以0 = Ø,接下來怎麼辦呢? 看來這個公設無法再多給我們什麼了,我們現在請出第四個配對公設:
ZF4 ∀x∀y ∃z ∀u [u∈z → (u=x ∨ u=y)]
這個公設允許某個最多包含兩個成員的Z集合存在,而且Z = { u: u=x ∨ u=y} = {x, y},有個特殊情況是如果x = y,那麼Z就只剩下一個成員{x}。{x} 與{x, x} 在定義上是一樣的,也就是說同樣的成員不管你寫多少遍還是同一個成員。
經由以上分析,配對公設的意思是如果我們手頭上已經有了兩個集合 (比如x 和 y) ,那麼以x為成員的類{x}和以x 與 y為成員的類{x, y}就都是集合。配對公設允許我們抓兩個集合來形成最多有兩個元素的新集合。
根據ZF3,我們手頭上已經有集合Ø,所以再根據配對公設ZF4,{Ø}也可以形成一個集合,它含有一個成員—─就是空集合。手氣不錯,現在我們已經有Ø和{Ø}兩個集合了。聰明的讀者可以猜出來,如法泡製再使用一次配對公設,則又可以製造出{Ø, {Ø}}這個集合。把剛剛的成果表列整理一下就是:
0 = Ø
1 = {Ø} = {0}
2 = {Ø, {Ø}} = {0, 1}
手氣正順,為什麼不繼續往下走呢? 沒有辦法了,目前我們只能數到2,比小學一年級的學生還不如,為什麼呢? 因為配對公設只容許我們的集合最多裝兩個成員,多了就違反協會組織規定。
雖然當下我們手頭上有三個集合:0,1,2,配對公設允許我們把任兩個集合抓出來形成一個新的集合,比如 {0,2},{0, 1} 都是集合。可是單憑ZF3和ZF4這兩個公設的「法力」並不足以形成像 {0, 1, 2} 這樣的集合,所以一切暫時到此為止,若要繼續往下數,那就必須有新的招數才行。
要突破數到二的限制就在於引進一個神奇公設,第五個聯集公設(Axiom of Union):
ZF5 ∀Ƒ∃A ∀X [X ∈ A ↔ ∃ Y (X ∈ Y ∧ Y ∈ Ƒ)]
既然說是神奇公設,則它的數學形式在外觀上就顯得有點複雜,牽涉到的變元很多,而且麻煩的是邏輯符號中的量詞(∃,∀)不容易看出它到底在說什麼。不熟悉數理邏輯符號的讀者請放心,我將再次用日常語言為你破解這個看似茫無頭緒的符號叢林,但首先必須解析這個公設中所涉及的層次。
ZF5討論到的集合有三個層次:最高的是Ƒ層,接著的A和Y 屬同一層,最低的是X層。為了方便表述這些層次還有聯集的概念,我用豌豆來作比喻。中間層的Y集合可以看成一條豌豆,裡面有許多豌豆粒,豌豆粒就屬於最低的X層。如果將許多豌豆條集成一堆的話,那堆豌豆條就屬於Ƒ層,如下圖所示:
Ƒ | Y | A(X) |
聯集公設是說如果有一堆豌豆條Y所成的集合Ƒ,那將所有豌豆條裡的豌豆粒(X)抓出來,可以形成一個新的集合A。A集合中的所有成員就是原來所有豌豆條Y中的豆粒。請注意,Ƒ與A不同之處在於Ƒ的成員是豌豆條,而A的成員是豌豆粒。但這個比喻跟之前所提到的麻袋比喻有相同的缺點,因為不同的豌豆條中不會有同一顆豌豆粒,但對集合來說卻可以允許不同集合包含相同的成員,所以與豌豆比喻稍有不同的是,在Y層的不同集合之間可能會有相同的成員。還好這沒有影響新形成的集合A,只要遵照之前所說的原則,同樣的成員不管你寫多少遍還是同一個就可以了。
聯集用符號∪來表示,兩個集合A 和B的聯集寫成A ∪ B,將此符號推廣到聯集公設的Ƒ,其中Ƒ所有成員所形成的聯集寫成∪Ƒ = {X: ∃ Y (X ∈ Y ∧ Y ∈ Ƒ)} 。所以
{x, y}∪ {z} = {x, y, z}
{x, y} ∪ {z, t} = {x, y, z, t } 就順理成章地被定義下來。
有了聯集這個武器就我們可以建造出一個新集合{0, 1}∪{2}={0, 1, 2}。而{0, 1, 2} = {Ø, {Ø}, {Ø, {Ø}}} ,我們把它定義成 3。用這個新的ZF5居然造出一個新的集合3,再使用一次配對公設發現,{3}也是個集合。然後我們再用一次聯集公設把{0, 1, 2} ∪ {3} 運作一次,又得到一個新的集合 {0, 1, 2, 3} 。
依此類推,我們把這個工作程序複製如下L:
3= {0, 1, 2} = {Ø, {Ø}, {Ø, {Ø}}}
4 = {0, 1, 2, 3} = {Ø, {Ø}, {Ø, {Ø}}, {Ø, {Ø}, {Ø, {Ø}}}}
等等。
聰明的讀者應該已經發現,有了聯集公設這個威力無窮的工具,你可以建構出任何自然數,要多大就可以有多大。依照這些公設的運作你會發現所有自然數本質上都是集合,它們不只具有我們從小就被教會的素僕的算術性質,而且都符合嚴格的集合定義。比如3不只是直觀上的數字3,它也同時是以0, 1, 2這三個集合為成員所形成的集合。每一個數字當然還是數字,但它們可以用集合來定義,而且可以從集合論的公設中被依序製造出來。
從哲學的觀點俯視整個公設化集合論可以發現,在它裡頭並不需要假設任何實體事物存在,比如蘋果,水牛,原子,茶杯或太陽等等,唯一需要的只有集合。可以說在沒學會公設化集合論之前,你並不知道空手套白狼的境界可以有多麼高深。只需擁有一個什麼都沒有的集合,竟然可以憑藉ZF3-ZF5這三個公設就讓我們從虛無之中建造出所有的自然數,這就是公設化集合論奇蹟似的從無中生有的「創業」過程。