理髮師悖論
理髮師悖論(英語:Barber paradox)是用來比喻羅素悖論的一個通俗說法,由伯特蘭·羅素在1901年提出。羅素悖論的出現是由於樸素集合論對於集合的不加限制的定義。由於當時集合論已成為數學理論的基礎,這一悖論的出現直接導致了一場數學危機,也引發了眾多的數學家對這一問題的補救,最終形成了現在的公理化集合論。同時,羅素悖論的出現促使數學家認識到將數學基礎公理化的必要性。
內容
小城裡的理髮師放出豪言:他要為城裡人刮鬍子,而且一定只要為城裡所有「不為自己刮鬍子的人」刮鬍子。
但問題是:理髮師該為自己刮鬍子嗎?如果他為自己刮鬍子,那麼按照他的豪言「只為城裡所有不為自己刮鬍子的人刮鬍子」他不應該為自己刮鬍子;但如果他不為自己刮鬍子,同樣按照他的豪言「一定要為城裡所有不為自己刮鬍子的人刮鬍子」他又應該為自己刮鬍子。
用集合論的語言來描述理髮師悖論是這樣的:小城裡的人構成集合 ,對於每個小城裡的人 可以構造一個 的子集 ,即 給屬於 的人刮鬍子。那麼,如果城裡人 給自己刮鬍子,則 ,如果 不給自己刮鬍子,則 ,如果 不給任何人刮鬍子,則 為空,即 。設理髮師為 ,則理髮師的豪言就是: 。問題是:如果 ,這將與 的定義矛盾,但如果 ,根據 的定義,又應該有 。理髮師悖論是個邏輯悖論。用集合論語言來描述並不是必需的,只是為了將來更容易說明它與羅素悖論不是一回事。
歷史故事
德國數理邏輯大師戈特洛布·弗雷格曾研究用集合論去描述數理邏輯,為此他還寫了一本書。他在給羅素的信中提到他的工作時說他為此構造了一個特殊的集合( ),這個集合由所有不包含自己的集合構成。也就是說,集合 的元素 是一個集合, 自己不是自己的元素,即 。羅素在回信中講述了前面的理髮師的故事。聰明的弗雷格看出了這實際上是指出了他所構造的集合 的問題:如果 ,那麼根據定義 應該包含 ,即 ;但是如果 ,那麼同樣根據定義 又不應該包含 ,即 。可此時弗雷格的書已經付印,修改已經是不可能的了,弗雷格只能在書中加一個後記並寫到:在工作結束之後而發現那大廈的基礎已經動搖,對於一個科學工作者來說,沒有比這更為不幸的了。
雖然羅素沒有直接點出那個弗雷格所構造的集合的悖論,但人們還是將那個集合的悖論稱作羅素悖論。羅素悖論可以簡單描述為:構造一個由所有不包含自己的集合構成的集合A,即 ,但我們無法斷定A是否應該包含A,無論包含或者不包含都會導出矛盾。由於羅素悖論只涉及集合的定義和從屬關係的判斷這些集合論最基礎的問題,而集合論又已成為數學理論的基礎,因此羅素悖論導致了第三次數學危機。
這一歷史故事應該只是一個「故事」,而不完全是歷史事實。從看到的一些羅素和弗雷格的通信來看,他們的交流是很學術的。但羅素悖論指出了弗雷格著作中的一個錯誤,使得他來不及修改他的著作而只能追加一段後記這是一個事實。
理髮師悖論與羅素悖論
儘管人們經常把理髮師悖論說成是羅素悖論,或認為它們是等價的,但理髮師悖論和羅素悖論並沒有等價的關係,它只是一個比喻。
理髮師悖論中的「不給自己刮鬍子」即 和羅素悖論里的 是不一樣的。集合以自己為元素( )是一個很抽象的概念,通常需要像「所有集合的集合」這樣的表達方式才能做到,一般很難用一個構造的例子來說明。但也見過一個十分有趣的例子:如果定義集合 。則集合 是一個包含自己的集合的例子。
一種新的集合論的觀點認為,羅素悖論也不是一個悖論,它也是一個和上述說法類似的邏輯錯誤,這用到了一個新的經改進的概括公理(comprehension axiom)。但這還有待學術界的認可。