文 / 翁昌黎(《孔恩vs.波普》中文譯者)
在之前的幾篇文章裡,我們用無限公設引入了第一個無限集合—全體自然數的集合N,之後又利用康托神奇的對角線方法證明了有一種集合的元素個數居然超過了全體自然數所形成的集合。按照直覺,我們可以輕易對有限集合的大小,也就是其所屬成員或元素的個數進行比較:比如集合A = {1, 4, 7}和集合B = {1, 2, 3, 4}。A有三個元素而B有四個元素,所以B比A大,意思是說B所含的元素比A所含的元素多。你會發現只要有小學低年級的數數能力就能夠判斷出每個有限集合的大小,方法就是細數每個集合元素的個數,即使元素個數很多,但只要你有足夠的時間和耐心,應該不太費腦筋就能完成這個任務。
但對於無限集合又如何呢?比如N = {1, 2, 3, 4, 5, 6, 7…}和所有偶數集合E ={2, 4, 6, 8, 10…},到底哪個集合大?對此我們可以進行幾種猜測。首先,按照對有限集合的經驗,你會發現E比N少了許多元素,1、3、 5、 7、 9等奇數在E中都沒有出現,而且實際上整個奇數的無限集合O= {1, 3, 5, 7…}在E裡都付之闕如。因此我們似乎可以「合理」推斷N一定比E大,否則怎麼解釋那些「消失」的元素呢?
但若細想又會發現N和E的元素可以一直往後無盡延伸,既然兩者都沒有盡頭的話,那麼說N比E大又顯得不太合理,兩者應該一樣大才對啊!可是比N少了無限個元素的E怎麼可能和N一樣大呢? 或者有人乾脆說既然兩者都沒有盡頭那就表示無法比較,能夠作出比較的只能是具有某個數值的有限集合。
我們到底該何去何從?問題在於之前我們僅僅基於直覺和經驗而對有限集合的大小進行常識判斷,但我們並沒有提出一套標準和程序來衡量或測量集合的大小,此外我們對無限集合根本缺乏任何直觀經驗。世界上沒有人真的把自然數從頭到尾都數過一遍,要全數過了才叫作具有經驗。在純粹理論的世界裡,我們不能依賴經驗和直觀來確保知識的正確性,反之必須提出一套精確的概念和標準程序才行,這讓我們再次向康托求救。
他所採取的策略是用函數的對應關係來處理無限集合的大小。但在描述嚴格的函數定義之前,我們先簡述一下康托的原始構想。康托認為對任何集合來說,不一定非得把集合的所有家當(元素個數)統計加總之後才能做比較,我們可以讓兩個集合之間的成員一一配對,然後觀察依序配對之後哪個集合還有多餘的成員沒找到「搭檔」。這種配對類似一種抵消過程,抵消之後還殘留有多餘成員的集合就「勝出」。真不愧是一個聰明合理的辦法,一方面對有限集合來說,它的結果和小學生數數的方法完全一致,而額外的紅利是它還可以用來處理無限集合。
正所謂「工欲善其事,必先利其器」,要理解康托這個「隱藏家產」的數學策略首先要引入一個有利的數學武器,那就是如何定義兩個集合之間的等量關係,定義如下:
定義1 對任意兩個集合A和B,如果存在一個一對一(one-to-one )且映成(onto)的函數(function)ƒ : A→B,則稱A與B等量(equinumerous),寫成A≈B。
其中A稱為函數ƒ的定義域(Domain),B 稱為函數ƒ的對應域(Co-domain)。那麼函數是個甚麼東東呢?通常的說法認為函數ƒ是建立在A和B兩個集合之間的對應關係,中學數學一般寫成y=ƒ(x),其中 x∈A且 y ∈ B,函數ƒ被認為是一個變動的y值,這個y因x的變化而不斷改變其值。
但回顧一下來時遙遙路,公設化集合論這門最嚴格的數學分支其基本原則是只允許用成員關係 ∈ 來討論集合(嚴格來講這句話只對ZF系統有效,若是另一套NBG系統則允許我們談論集合和真類)。現在半路忽然殺出函數這個異鄉人,我們該如何面對?對應關係雖不難理解,但它看起來有點抽象,更麻煩的的是雖然A和B都是集合,但這個抽象的所謂對應關係ƒ也是集合嗎?怎麼看都不太像,而且到目前尚未發現成員關係∈在函數的運算中佔有核心位置!
還好在抽象代數(或稱近世代數))和高等分析學裡對於函數有另一種表達方式,更常用來描述函數ƒ的是序對 (x , y)而不是對應關係y=ƒ(x) 。在代數或分析學的課本裡,函數經常被寫成類似這種形式:ƒ= {(x, y)| x∈A, y ∈ B, P(x, y)}。這樣寫之後函數的本質變得更加清晰具體了,一個函數 ƒ 是所有序對(x , y)所形成的集合,其中x是A的成員而y是B的成員,但必須滿足一個條件: 那就是每一個A集合的成員只能對應到一個B集合的成員,不能一個對兩個或更多個。用數學符號來表達就是:若 (x, y) = (x, z) ,則y=z。以 ƒ0:N→N為例,如果 ƒ0( 1 )=1且ƒ0(1)=2,那麼 ƒ0就不符合函數的資格,因為ƒ0讓1同時對應到兩個值。但函數卻可以允許像
ƒ1(1)=3,ƒ1(4)=3,ƒ1(10)=3,ƒ1(17)=3這種多對一的情況。
現在先停下腳步來解釋一下序對的性質。既然說是序對(ordered pairs),表示其成員間的前後次序是相當重要的。在集合裡,{a, b}和{b, a}被視為是相同的集合,換句話說,元素的前後次序對集合來說並不重要。但 (a, b)和(b, a)並非兩個相同的序對,它們代表兩個完全不同的物件。如果用序對來表示平面座標系裡的一個點,那(2,3)和(3,2)並不是同一個點,這是序對與集合之間的重大差別。
目前有了一點進展,我們讓函數從抽象的對應關係還原成某些序對的集合,接下來我們繼續追問一個問題:以序對為元素所形成的集合本身是集合嗎?答案的關鍵在於序對首先必須是集合才行,如果序對不是集合的話,那我們就無法將它們蒐集起來形成集合,這是公設化集合論的基本裝置。
因此要破解函數的真身首先必須破解序對的真身,當我們知道序對的真實身分之後,也就同時知道函數的真實身分了,因為函數是由序對所形成的集合。如果你只是一直望著序對 ( x, y)發呆,那很難看出甚麼端倪,我們需要一個破解序對的方法才行。波蘭數學家暨邏輯學家庫拉托夫斯基(Kuratowski)在1921年給出了目前使用最廣的用集合來界定序對的定義:
定義2 (a, b)= {{a}, {a, b}}
這個定義讓序對(a, b)可以寫成集合的形式。根據配對公設,{a}和{a, b}都是集合,再使用一次配對公設,把{a}和{a, b}抓起來形成的集合{{a}, {a, b}}也是集合,因此(a, b)是集合沒錯。通過了第一關,但我們仍然要進一步確認,這個定義是否符合我們期待序對應該擁有的性質,那就是我們可以根據前後兩個元素的選取而確定一個特定的集合。也就是我們要證明:
定理1 x, y, u, v都是集合,若(x, y)=(u, v),則x=u且y=v。
你可以先試著把它證明出來,我們把這個工作留待下回分解。但目前先「假裝」這個定理是正確的,之所以需要「假裝」,是因為在邏輯與數學的世界裡,除了公設和定義之外,任何的語句陳述未經證明都是可疑的,不可以想當然爾,也不能直覺認定,希望讀者們能養成這種多疑的「好習慣」。
透過上述的定義和定理,我們已經成功地把序對(x, y)轉化成合法的集合,但由於函數就是序對,所以經過這兩道手續之後我們已經成功地為函數取得集合的「身分證」。以後當我們使用函數或談到函數時,就完全可以把它們視同集合一樣。
從理論的觀點來看,這是個重大的進展,因為我們原先的目標是想要找到恰當的工具來測量集合的大小,而這項工具正是函數。現在我們進一步得知,這把測量「尺標」本身就是某種特定的集合。那麼要如何用函數這把尺標來測量集合的大小,尤其是無限集合的大小呢?只好等下回再分解了。