讓你可以證明任何結論的「居里悖論」

讓你可以證明任何結論的「居里悖論」
Image Credit: Matthew Leadbeater, CC BY-NC 4.0

我們想讓你知道的是

「如果這句話是真的,則地球是平的」這句說話,居然可以用來證明「地球是平的」?

今天(9月12日)是邏輯學家居里(Haskell Brooks Curry)生日,有三種程式語言以他名字命名,分別叫做Haskell、Brooks和Curry[1]

居里生於1900年的麻省,16歲就進哈佛大學打算讀醫學,但後來轉讀數學。本來他在哈佛攻讀博士,師承數學家伯克荷夫(George Birkhoff)研究微分方程,其後發現組合子邏輯(combinatory logic)的研究,於是搬到當時的數學重鎮——德國的哥廷根——研究,在希爾伯特(David Hilbert)指導下完成論文。

居里主要的研究領域為組合子邏輯,現時亦屬於電腦科學研究範圍之一。著名的創業投資公司Y Combinator,名字正是來自由居里發現的「Y組合子」[2],而這個組合子令到原版的λ演算系統產生矛盾。

邏輯學家邱奇(Alonzo Church)在1930年代提出的λ演算系統以及居里的一個組合子邏輯系統,在1935年被邱奇兩位門生基利(Stephen Kleene)及羅沙(John Barkley Rosser)提出的悖論證明隱含矛盾。後來居里把這個悖論簡化,變成邏輯學中著名的居里悖論。

邏輯符號或會太過嚇人,以下用較為淺白的語言解釋一下居里悖論。

讓我們定義「居里句」C為「如果C,則地球是平的」,雖然這句子自我指涉,基本上在說「如果這句話是真的,則地球是平的」,但看來好像無傷大雅。

根據同一律,我們知道「如果C,則C」,把上句後面的「C」換成上一段的定義,就得出「如果C,則『如果C,則地球是平的』」。但這個寫法太累贅了,我們可以簡化成「如果C,則地球是平的」——那不就是C本身嗎?所以從同一律出發,我們已經證明了C。

最後一步,就是結合「C」以及「如果C,則地球是平的」兩句,得出結論「地球是平的」。由於「地球是平的」這句在整個證明中形同虛設,無論你將之換成「動物傳心是真的」、「甘迺迪遇刺時在坐四人車」(其實是六人車)、「世界由蜥蜴人控制」等都一樣成立。

對邏輯學家而言,真正的噩夢是你可以推論出任何矛盾句。這個問題如何解決呢?最簡單的做法,是禁此這類居里句存在,如果要接受居里句,就必須修改推導規則[3]

居里悖論跟其他常見悖論如「說謊者悖論」和「羅素悖論」等的分別,在於沒直接使用「否定」(negation)[4]。有些非經典邏輯(non-classical logic)試圖以不同方式去理解「否定」,從而解決悖論,卻未必可以擺脫居里悖論。

相關文章︰

註︰

  1. 《維基百科》把實驗性的程式語言Brooks連結到另一語言Brook的條目,但該語言應跟居里無關。關於Brooks的描述可參考此論文
  2. 詳見Y Combinator網站上的FAQ
  3. 如果想了解多一點可以去查《維基百科》相關條目,看完還未夠的請參閱史舟福哲學百科(Stanford Encyclopedia of Philosophy)的文章
  4. (此註釋在文章刊出後補上)用點符號,設L為「¬L」,L可以構成說謊者悖論,但有些系統中「¬X」(否定)的定義為「X→⊥」(⊥的真值永遠為F,可以任何矛盾句代替),若把L設為「L→⊥」,就會變成居里句,構成居里悖論。

後記︰文章刊出後,有些讀者表示用符號比較容易理解,在此以符號簡單重寫一次,假設讀者懂得基本命題邏輯。設C為「C→ FlatEarth」,FlatEarth代表「地球是平的」。

  1. C→C       (同一律)
  2. C→(C→FlatEarth)  (根據1,以C的定義代入後一個C)
  3. C→FlatEarth    (把2簡化,兩句等價)
  4. C         (根據C的定義)
  5. FlatEarth      (3,4, modus ponens)

責任編輯:鄭家榆
核稿編輯:王陽翎