由羅素悖論說開去

本文試圖對@吳宇航 的問題「所有的集合是一個真類,那所有的真類是什麼?」給出一個較為詳盡的解釋。

目錄

一、羅素悖論(Russell』s paradox)

二、公理集合論

三、類(class)

四、Grothendieck universe

一、羅素悖論(Russell』s paradox)

在19世紀以前的樸素集合論時代,人們並沒有對「集合」(set)這個概念給出明確的定義。直到現在,我們仍然在大量的非數學專業教材中看到這樣的說法:

一般的,所謂集合(簡稱集)是指具有某種特定性質的事物的總體,組成這個集合的事物稱為該集合的元素(簡稱元)。

——同濟大學《高等數學》第六版

那麼,是不是所有「具有某種特定性質的事物的總體」都能稱作「集合」呢?

如果我們把同濟高數教材中的說法當作集合的定義,就會導致歷史上著名的羅素悖論(Russell』s paradox)。這一悖論直接導致了所謂的「第三次數學危機」,這在各類數學科普文章中可以看到很多相關故事,此處按下不表。

把所有集合分為兩類,第一類中的集合以其自身為元素,第二類中的集合不以自身為元素。令

P={A|Ain A},~Q={A|Anotin A}

問Q∈P還是Q∈Q?

顯然,任何一個集合要麼在P中,要麼在Q中,但不可能同時在P和Q中。

但是,若Q∈P,就意味著Q?Q,於是Q∈Q,矛盾。

反之,若Q∈Q,則Q?Q且Q∈P,也是矛盾。

這一悖論還有個更通俗的「理髮師悖論」的版本:

某理髮師聲稱他給所有不給自己理髮的人理髮。問這位理髮師給不給他自己理髮?

如果理髮師不給自己理髮,他就屬於「不給自己理髮的人」,於是他應該給自己理髮;

如果理髮師給自己理髮,就違背了他只給「不給自己理髮的人」理髮的原則。

於是,羅素悖論讓人們開始明白,「集合」這個術語是不能隨便亂用的。

二、公理集合論

公理集合論是在一階邏輯的基礎上用嚴謹的語言重整的集合論,試圖以此解決樸素集合論中出現的悖論。現代數學通常採用Zermelo-Fraenkel公理系統(ZF),或者加入選擇公理後的ZFC系統,作為建立數學大廈的基石。

所有的數學理論都必須從一些不加定義的初始概念開始,包括作為數學大廈基石的集合論也是如此。對公理集合論來說,我們只需要一個初始概念:

__是__的元素(__ is an element of __)

它的意思和我們的直觀理解相同(即我們不對這句話本身進行定義)。我們用x∈y表示「x是y的元素」(x is an element of y)。

除了∈之外,公理集合論只使用一階邏輯中的邏輯符號(此處略去解釋,詳情可參考維基百科:中文、英文)。在此基礎上,讀者就可以看懂ZFC系統中各條公理的意思了:

1、外延公理(Axiom of Extensionality)

2、配對公理(Paring Axiom)

3、並集公理(Union Axiom)

4、分離公理模式(Axiom Schema of Separation)

5、無窮公理(The Axiom of Infinity)

6、冪集公理(Power Set Axiom)

7、替代公理模式(Replacement Axiom Schema)

8、正則公理(Axiom of Regularity)

以上八條屬於ZF公理系統,再加上選擇公理就構成了ZFC公理系統:

9、選擇公理(Axiom of Choice)

由於維基百科(中文:策梅洛-弗蘭克爾集合論,英文:Zermelo–Fraenkel set theory)中對上述公理已有詳細解釋,此處也略去。

於是我們有下面的定理。

【定理】所有集合的全體不是一個集合:

neg(exists x,forall y: yin x)

證明很簡單。假設?x, ?y, y∈x,定義公式φ為"z?z". 令y={z∈x: z?z},由分離公理模式可知y是集合, 於是y∈x。這樣我們就得到y∈y?y?y,矛盾。

聰明的讀者想必已經看出,這個證明中得到的矛盾就是羅素悖論。所以,為了避免羅素悖論,我們就必須承認所有集合的全體不是一個集合。

現在我們回到「集合是什麼」的問題上來。事實上,ZFC公理系統並沒有定義什麼是集合,而只是設定了一套集合應該滿足的規則。所以,現在我們應該怎樣來回答這個問題呢?

1、直觀上,一個集合表示滿足某種性質的對象的全體;

2、事實上,我們把集合作為最初始的數學概念,不予定義:

3、我們不對集合做出定義,我們只在ZFC公理系統設定的規則下面,小心地使用「集合」這個概念

現代數學中的絕大多數分支都基於ZFC公理系統。或者更確切地說,絕大多數定義在「集合」上的數學概念都基於ZFC公理系統。

三、類(class)

在這一部分里,我將解釋什麼叫做「小心地使用『集合』這個概念」。事實上,不僅是業餘數學愛好者,就連專業的數學工作者也會對此頭疼不已。我們通常把跟「討論的對象是不是集合」相關的困擾和麻煩稱為「size issues」。

從公理集合論誕生開始,人們不再隨意亂用「集合」這個名詞。作為替代,我們不把「具有某種特定性質的事物的總體」稱作集合,而把它稱作「類」(class)。只有當這些「具有某種特定性質的事物的總體」與ZFC公理系統不矛盾(例如不能導出羅素悖論)時,我們才把它稱作集合。

注意在上面的定義中,類的概念是集合的拓展——即,集合也是一種特殊的類。如果要強調所考慮的類不是集合,則稱其為「真類」(proper class)。

下面舉一些常見的真類的例子:

1、全體集合構成一個真類;

2、全體線性空間(linear space)構成一個真類;

3、全體拓撲空間(topological space)構成一個真類。

上面的2和3兩個例子中,全體線性空間或者全體拓撲空間構成真類的原因是,在任意非空集合上都可以定義線性結構或拓撲結構。既然全體集合構成一個真類,那麼全體線性空間或全體拓撲空間也應該構成一個真類。類似的例子還有全體群/環/交換群/幺半群(group/ring/Abelian group/monoid)構成的真類。

傳統的數學分支大都是在集合論的基礎上建立起來的。所謂「以集合論為基礎」的意思是,絕大多數基礎數學概念都定義在集合上。例如:

給定域F,F上的線性空間V是一個集合,其上定義了兩種二元運算……

拓撲空間是一個集合X,連同X的一個子集族T,滿足……

群是一個集合G,連同一個G上的二元運算 ·,滿足……

所以,在處理傳統數學對象時,我們務必要「小心地使用『集合』這個概念」。例如,你可以在一個拓撲空間上考慮能否給其加入群結構(即所謂的「拓撲群」),但你不能隨意說出「引入任意兩個拓撲空間之間的某種運算,使得全體拓撲空間成為一個群」這樣的話,因為全體拓撲空間甚至不是一個集合!

四、Grothendieck universe

最後回到本文開頭引用的問題。正如題主所想到的,羅素悖論不僅會在「什麼是集合」的問題上產生,而且會在任何牽涉到「一類事物的總體」的名詞上產生!

對於許多傳統的數學分支而言,這並不是一個大問題。原因是,把考慮的對象(例如線性結構、拓撲結構、群結構等)局限在集合上就已經能得到數學家們想要的結果。但是,當致力於研究不同抽象數學結構之間的聯繫的範疇論(category theory)出現後,這一問題就日益突出了。

原因是,範疇論並不關注一個拓撲空間或一個幺半群,而關心全體拓撲空間或全體幺半群放在一起所得的結構的性質。由於全體拓撲空間或全體幺半群不再是一個集合,所以在範疇論里就不可避免地會遇到大量的真類。

在範疇論剛出現時,人們的做法是將範疇區分為「小範疇」(small category)和「大範疇」(large category)。這裡是小範疇是指全體對象和全體態射都是集合的範疇,而大範疇是指全體對象或全體態射至少有一個是真類的範疇。

然而,隨著討論的進一步深入,特別是到了高維範疇的領域,人們發現僅僅區分「集合」與「類」也不夠了。具體而言:

所有集合放在一起不再是一個集合,而是一個類;

所有類放在一起不再是一個類,而是一個「類+」(我們姑且用「類+」表示比「類」更高一個層級的「事物的總體」);

所有「類+」放在一起不再是一個「類+」,而是一個「類++」;

…………

如此層疊下去,無窮無盡。

Grothendieck universe對上述過程給出了確切的描述。具體而言,Grothendieck universe是一個滿足下列條件的集合U:

1、如果x∈u且u∈U,則x∈U;

2、如果u∈U且v∈U,則{u,v}∈U;

3、如果x∈U,則x的冪集P(x)∈U;

4、全體自然數構成的集合N∈U;

5、如果I∈U且對任意i∈I,xi∈U,則全體xi的並集∪xi∈U。

顯然,如上定義的U一定是不可數的(由3、4兩條可知)。可以證明,任意Grothendieck universe U都是ZFC公理系統的模型(model),也就是說這樣的U一定」足夠大「到包含了所有基於ZFC公理系統的數學理論(這包含了絕大多數現代數學分支)。

我們把U中的元素(即滿足x∈U的x)稱為「U-小集合」(U-small set),用來取代經典數學中的「集合」;同時把不是U的元素的子集(即滿足x?U但x?U的x)稱為「U-大集合」(U-large set),用來取代經典數學中的「真類」。於是,我們可以在「U-小集合」上定義一切我們想要的數學結構(拓撲空間、線性空間、群、環等),而全體拓撲空間(或線性空間、群、環)則構成一個「U-大集合」。

這樣,我們就可以完全拋棄「類」這個概念,而用「U-小集合」、「U-大集合」這樣的術語來表示不同層次的「具有某種特定性質的事物的總體」。

顯然,全體「U-小集合」就是U自身。那麼,全體「U-大集合」(或者」U的全體子集所構成的集合P(U)「)又是什麼呢?

Grothendieck加入了這樣一條公理:

【Axiom of universes】對任意集合s,存在一個Grothendieck universe U使得s∈U。

換言之,只要所考慮的「具有某種特定性質的事物的總體」(例如「全體U-大集合」)超出了U自身的範圍,我們就把它放到另一個更大的Grothendieck universe V中去。這就是說,只要Grothendieck universe V取得足夠大,任何集合(注意此處的」集合「泛指「具有某種特定性質的事物的總體」)都是「V-小集合」。

所以,Grothendieck universe就是「類,類+,類++…」的文藝版。

範疇論的奠基人S. Mac Lane在他的經典教材《Categories for the Working Mathematician》中指出,事實上,Grothendieck universe這樣的層疊嵌套在拓撲空間、線性空間、群這樣的經典數學中並無必要。原因是,把群這樣的數學結構定義在集合上,或者定義在「類」上,或者定義在「類+」上,處理方法上並沒有本質區別。

於是,在處理以集合論為基礎的經典數學時,我們可以把所有討論的對象局限在一個確定的可以作為ZFC公理系統模型的universe U內。例如,只討論「U-小群」(U-small group),即「U-小集合」上的群結構,就足以包含所有的群理論。只有在考慮類似於「U的全體子集所構成的集合P(U)」這樣超出U的範圍的問題時,我們才有必要引入「無窮無盡」的Grothendieck universe。


推薦閱讀:

TAG:比生活简单多了 | @吴宇航 | 所有的集合是一个真类,那所有的真类是什么? | 中文 | 英文 | 策梅洛-弗兰克尔集合论 | Zermelo–Fraenkelsettheory |