數(shù)學(xué)靠的是嚴(yán)密的邏輯推理,可是有時(shí)會(huì)發(fā)生這種怪事:振振有詞的一通推卻得到了似乎荒謬絕倫的結(jié)論。這結(jié)論或者有悖于大家的常識(shí),或者自相矛盾,使人左右為難。這就叫“悖論”。有了悖論,人們就會(huì)問:“邏輯的推理的方法可靠嗎?怎樣運(yùn)用邏輯推理的方法才不會(huì)出毛???”通過對(duì)悖論的分析研究、找出悖論的癥結(jié)所在,使悖論不悖,這叫做消除悖論。對(duì)悖論的研究,有助于數(shù)學(xué)的發(fā)展。有重大影響的悖論的出現(xiàn)與消除,往往標(biāo)志著數(shù)學(xué)科學(xué)水平的劃時(shí)代的進(jìn)展。
畢達(dá)哥拉斯悖論
古希臘數(shù)學(xué)家畢達(dá)哥拉斯認(rèn)為,數(shù)只有正整數(shù)和分?jǐn)?shù)。但是根據(jù)勾股定理(古希臘稱為畢達(dá)哥拉斯定理),正方形對(duì)角線長與邊長之比卻既不是整數(shù)又不是分?jǐn)?shù)。這個(gè)發(fā)現(xiàn)當(dāng)時(shí)被稱為悖論。后來大家認(rèn)識(shí)到無理數(shù)也是數(shù),并且建立了嚴(yán)密的實(shí)數(shù)理論,這個(gè)悖論就被消除了。
這個(gè)悖論從出現(xiàn)到徹底消除經(jīng)過了近2000年,它的消除標(biāo)志著實(shí)數(shù)概念在數(shù)學(xué)家心目中已經(jīng)十分明確了。
禿頭悖論
一個(gè)人有了10萬根頭發(fā),當(dāng)然不能算禿頭,不是禿頭的人,掉了一根頭發(fā),仍然不是禿頭,按照這個(gè)道理,讓一個(gè)不是禿頭的人一根一根地減少頭發(fā),就得出一條結(jié)論:沒有一根頭發(fā)的光頭也不是禿頭!
類似的悖論還不少。例如:一根雞毛可以壓倒大力士;胖子體重再減一克就不再是胖子;等等。
這種悖論出現(xiàn)的原因是:我們?cè)趪?yán)格的邏輯推理中使用了模糊不清的概念。什么叫禿頭,這是一個(gè)模糊概念。一根頭發(fā)也沒有,當(dāng)然是禿頭。多一根呢?還是禿頭吧。這樣一根一根增加,增加到哪一根就不是禿頭了呢?很難說。誰也沒有一個(gè)明確的標(biāo)準(zhǔn)!
如果硬要訂一個(gè)明確的標(biāo)準(zhǔn),比如說,有1000根頭發(fā)的是禿頭,有1001根頭發(fā)的就不是禿頭了,這就不符合大家的實(shí)際看法。
比較現(xiàn)實(shí)的辦法是引入模糊概念。具體地說,用打分的辦法來評(píng)價(jià)禿的程度。全光頭是百分之百的禿,打1分(1=100%),有100根頭發(fā),打0.7分,200根0.6分,等等,隨著頭發(fā)的增加,禿的分?jǐn)?shù)逐漸減少,這樣就可以消除禿頭悖論了。
當(dāng)然,如何具體打分,是個(gè)問題。這可以協(xié)商,或者由醫(yī)生制訂,或者用其他辦法。不過,這已經(jīng)不是邏輯問題,不是數(shù)學(xué)問題了。
說謊者論
這是一個(gè)古老的悖論。一個(gè)人說:“我現(xiàn)在說的這句話是謊話?!边@句話究竟是不是謊話呢?
如果說它是謊話,就應(yīng)當(dāng)否定它。也就是說,這句話不是謊話,是真話。
說它是真的,也就肯定了這句話確實(shí)是謊話。
這句話既不是真的,也不是假的。這真令人左右為難!
有人說,如果不許一句話談?wù)摫旧?,就可以消除這類悖論。但是它馬上會(huì)改頭換面,以另一形式出現(xiàn):
一張卡片,正面寫著“反面寫的那句話是真的”,而反面卻寫著“正面那句話是假的”。
究竟正面那句話是真是假?
還可以變成一連串句子:第一句說第二句假,第二句說第三句假,第三句說第四句假……每一句都說下一句是假的。最后,第七句說:“第一句是假的!”第一句是真是假?
如果第一句真,則第三、五、七句真,于是第一句假。如果第一句假,則第三、五、七句假,于是第一句真!
這就像7個(gè)孩子手拉手站成一圈,絕不可能讓男孩兩邊都是女孩,女孩兩邊都是男孩!當(dāng)然,“7”可以換成任何奇數(shù)。這種悖論,叫作“語義學(xué)悖論”。
波蘭數(shù)學(xué)家塔斯基(A. Tavski)提出用語言分級(jí)的辦法來消除語義學(xué)悖論。辦法是:
最基本的語句是實(shí)際語句。它只談?wù)搶?shí)際的事物,如“雪是白的”“狗是哺乳動(dòng)物”……而不涉及句子的真假。比它高一級(jí)的句子是1級(jí)抽象語句,它包括了實(shí)際語句,并且可以談?wù)搶?shí)際語句的真假。例如“雪是白的”這句話是對(duì)的,就屬于1級(jí)抽象。往上,有2級(jí)、3級(jí)…… n級(jí)抽象語句。n級(jí)抽象語言包括了n-1級(jí)語言,而且可以談?wù)?n-1級(jí)語言的真假。這樣,就可以消除循環(huán)判斷所產(chǎn)生的悖論。
近年,我國數(shù)學(xué)家文蘭院土提出并論證了說謊者悖論不過是布爾代數(shù)里的一個(gè)矛盾方程。代數(shù)里有矛盾方程不是什么怪事,所以這悖論也就不值得大力去討論了。
理發(fā)師悖論
某村上的理發(fā)師聲稱,他只給那些不給自己刮胡子的村上人刮胡子。那么。理發(fā)師給不給自己刮胡子呢?如果他給自己刮,按規(guī)定他不應(yīng)當(dāng)給自己刮;如果他不給自己刮,按規(guī)定他又應(yīng)當(dāng)給自己刮!
和這個(gè)悖論類似的悖論真不少。圖書目錄悖論便是一個(gè)例子。圖書目錄也是一本圖書,所以它可以把自己列入自己的目錄之內(nèi)。但它也可以不把自己列入。把所有不列入自己目錄的編成一本目錄,這本目錄該不該把自己列入呢?
理發(fā)師悖論是1901年由羅素(B.A.W.Russell,1872—1970)提出的集合學(xué)悖論的通俗化翻版。羅素悖論是一個(gè)相當(dāng)深刻的難題,它在當(dāng)時(shí)的數(shù)學(xué)界掀起了一場(chǎng)風(fēng)波。
講羅素悖論,要從集合論里的“概括原則”談起。如果一個(gè)集合里只有不多幾個(gè)元素,比如說你們班美術(shù)小組的成員組成的集合,只要開個(gè)名單就可以確定這個(gè)集合。要是集合里元素很多,甚至多到無窮,就不便開名單,甚至沒法開名單了。這時(shí)可以指出集合中元素的特征,例如:“所有中國人組成的集合”“所有偶自然數(shù)組成的集合”,等等。一般地說,P表示某一性質(zhì),所有具有性質(zhì)P的事物總可以構(gòu)成一個(gè)集合。這就叫作概括原則。
大家承認(rèn)了概括原則,羅素偏偏就利用它來構(gòu)造悖論。羅素把所有集合分成兩類:以自身為自己的一個(gè)元素的集合,叫非正常集。不以自身為元素的集合。叫作正常集。一切正常集組成的集合B,它到底是正常的呢,還是非正常的呢?
如果 B是正常的,按B的定義,B應(yīng)當(dāng)是 B的元素。這么一來,B是非正常的。
如果 B是非正常的,按定義, B不應(yīng)當(dāng)是 B的元素。這么一來,B又是正常的了!
集合論是數(shù)學(xué)大廈的基礎(chǔ)。不消除羅素悖論,數(shù)學(xué)家自然是不甘心的。
羅素本人提出了把集合分層的辦法來消除這個(gè)悖論,正如塔斯基把語言分級(jí)一樣,先給定基本集合。第一層集合包括基本集合,以及以基本集合為元素的集合。第n層集合包括第n-1層集合,以及以第 n-1層集合為元素的集合。這樣,就不會(huì)發(fā)生“集合是否以自身為元素”的問題。
羅素的分層方法太煩瑣,數(shù)學(xué)家們不歡迎。后來,大家想出建立集合論公理的辦法,用公理限制那些莫名其妙的集合的出現(xiàn),這才消除了羅素悖論。
但是,能不能保證在已建立的公理系統(tǒng)中永遠(yuǎn)不產(chǎn)生新的悖論呢?這叫作數(shù)學(xué)公理系統(tǒng)的協(xié)調(diào)性問題。哥德爾在1931年證明了一個(gè)使人失望的定理:包含了自然數(shù)的數(shù)學(xué)公理系統(tǒng),如果是協(xié)調(diào)的話。其協(xié)調(diào)性是無法在系統(tǒng)之內(nèi)證明的!這表明,數(shù)學(xué)的真理性,歸根到底要靠人類的廣泛社會(huì)實(shí)踐來證明。
預(yù)言家悖論
算命先生王鐵口說他能預(yù)知未來。小王在一張紙上寫了一件事,請(qǐng)他猜猜這件事會(huì)不會(huì)發(fā)生。會(huì)發(fā)生,就請(qǐng)王鐵口在卡片上寫個(gè)“是”字,否則寫個(gè)“否”字。
王鐵口事先寫了兩張卡片:一個(gè)“是”字,一個(gè)“否”字。他準(zhǔn)備見機(jī)行事,偷梁換柱。
但小王把紙打開之后,王鐵口卻無所適從了。小王在紙上寫的是:“王鐵口在卡片上寫的是‘否’字”。
如果王鐵口拿出寫“否”的卡片,“這件事”發(fā)生了,而王鐵口沒猜對(duì)。拿出寫 “是”的卡片,“這件事”就沒發(fā)生,又猜錯(cuò)了。
你仔細(xì)想想,便知道這一悖論是說謊者悖論的翻版。
理查德悖論
用漢字可以定義自然數(shù)。例如:“最小的素?cái)?shù)”定義了“2”,“三的四次方”定義了“81”。能夠用少于100個(gè)漢字定義的自然數(shù)當(dāng)然只有有限個(gè),因?yàn)闈h字?jǐn)?shù)目是有限的。所以,一定有一個(gè)“最小的不能用少于100個(gè)漢字定義的自然數(shù)”。不過這樣一來,這個(gè)自然數(shù)已被我們用20個(gè)漢字定義出來了。如何解釋這個(gè)矛盾呢?
問題在于,什么叫作“用少于100個(gè)漢字可以定義”,這句話是含糊不清的。在這句話里,用到了“可定義的”這個(gè)概念。但是,“可定義的”這個(gè)概念本身是無法在我們的數(shù)學(xué)系統(tǒng)中嚴(yán)格加以定義的!
消除理查德悖論的辦法,有人主張也用分級(jí)抽象語言的方案,像消除說謊者悖論一樣。
但是,大家又都覺得分級(jí)語言太麻煩了。在寫文章、講話的時(shí)候,誰肯不斷地說明自己此時(shí)用的是哪一級(jí)的語言呢?
意外的考試
馬老師宣布本星期內(nèi)他將進(jìn)行一次考試。他說,考試的日子將使大家感到意外!
學(xué)生們紛紛猜測(cè):考試將在哪一天進(jìn)行呢?
大家一致認(rèn)為,不會(huì)在星期五考試。因?yàn)?,如果到了星期四還沒考試,大家就可以肯定馬老師將在星期五考試,那就不是意外的考試了——馬老師說話是算數(shù)的。
既然不會(huì)在星期五考試,那也不會(huì)在星期四考試了。因?yàn)榕懦瞧谖逯?,星期四是最后一天。如果星期一到星期三不考,星期五又不?huì)考,那只有星期四考了。既然學(xué)生們可以如此推理,星期四考試也不是意外的考試!
于是這樣推論下去,星期三考試也非意外,所以也不會(huì)在星期三考。同樣道理,也不會(huì)在星期二、星期一考試。學(xué)生們于是非常高興,馬老師這星期里不會(huì)考試了!
正當(dāng)學(xué)生們認(rèn)為不會(huì)考試的時(shí)候,馬老師卻在星期二考試了。不過,這的確是出乎意料的考試。
事實(shí)上,不論在這五天里哪一天考試,都出乎學(xué)生們的意料。即使在星期五考試,也出乎學(xué)生意料,因?yàn)閷W(xué)生們認(rèn)為這一天不會(huì)考了。
這是一個(gè)尚在爭(zhēng)議的悖論。一般看法認(rèn)為,“意外的考試”是個(gè)模糊不清的概念,問題就出在這里。
(張景中,著名數(shù)學(xué)家、數(shù)學(xué)科普作家,中國科學(xué)院院士)