1.1 希爾伯特計畫:數學是否能完全形式化、機械化與自動判定?#
時代背景:數學的「基礎危機」#
十九世紀後半,數學經歷了一場嚴格化運動:魏爾斯特拉斯為微積分補上 \(\varepsilon\)-\(\delta\) 語言,戴德金用有理數切割定義實數,弗雷格正在建立謂詞邏輯。一切都指向一個雄心:把數學整座大廈建立在堅實地基上。
但地基本身裂了。康托爾的集合論既強大又矛盾叢生:1897 年布拉里—福爾蒂悖論(最大序數悖論)、1899 年康托爾悖論(最大基數悖論)、1901 年羅素悖論——
設 \(R = \{x \mid x \notin x\}\)。問:\(R \in R\) 嗎?兩個答案都矛盾。
弗雷格收到羅素的信時正在付印《算術基礎》第二卷,他在後記中承認:「科學大廈的基石動搖了。」這是數學史上少數「一封信擊倒一個理論」的時刻。
希爾伯特其人:數學的普魯士將軍#
大衛·希爾伯特(David Hilbert, 1862–1943)是當時世界上最有權威的數學家,執掌哥廷根大學——世界的數學之都。他的口號「Wir müssen wissen, wir werden wissen(我們必須知道,我們將會知道)」後來刻在他的墓碑上。
這句話不只是口號,它是德國學術文化的結晶:普魯士大學體制(洪堡傳統——教學與研究合一、純粹學問優先)培養出對「完備、嚴格、系統」的信仰。哥廷根在希爾伯特與克萊因手上成為磁石:閔可夫斯基、諾特、外爾、馮·諾伊曼、哥德爾都曾在此——這個制度後來被納粹摧毀,順帶把世界數學中心搬到了美國,這是後話。
計畫的三根支柱#
希爾伯特計畫(formalism,形式主義綱領)要求數學基礎滿足:
| 目標 | 內容 | 白話 |
|---|---|---|
| 完備性(completeness) | 任何命題或可證明、或可否證 | 沒有「證不出也駁不倒」的命題 |
| 一致性(consistency) | 無法證明 \(P\) 且 \(\neg P\) | 大廈不會自爆 |
| 可判定性(decidability) | 存在機械程序,對任何命題判定真假 | 有「萬能演算法」 |
關鍵的技術路線:元數學(metamathematics)——把數學本身當作對象來研究。先寫下純粹符號的公理系統(不談意義,只談字串操作),再用「初等、有限、機械」的方法證明這個系統一致。希爾伯特強調:證明一致性只能用有窮方法(finitary methods)——直觀、可檢查、像計算一樣的推理。他不信任「無窮」這個概念本身,卻想為「使用無窮」的數學蓋上安全印章。
1920 年代的樂觀#
希爾伯特與助手阿克曼、貝爾奈斯在 1920s 逐步推進:先證明了一小片系統(無量詞的部分算術)的一致性。氣氛是樂觀的。1926 年他說出名言:
「沒有人能把我們從康托爾創造的天堂裡驅逐出去。」
同一時期,數學三大門派開戰:
| 學派 | 領袖 | 立場 |
|---|---|---|
| 邏輯主義 | 羅素、弗雷格 | 數學可還原為邏輯 |
| 直覺主義 | 布勞威爾 | 數學是心智構造;排中律不普遍成立 |
| 形式主義 | 希爾伯特 | 數學是符號遊戲,一致性就是一切 |
布勞威爾的直覺主義其實預感到了真相:他早就主張「存在即被構造」——許多數學命題(尤其涉及無窮時)不允許「非此即彼」的判定。他與希爾伯特的私交因此破裂(希爾伯特把布勞威爾逐出《數學年刊》編委會——學術權力鬥爭介入基礎之爭)。歷史隨後證明:布勞威爾的直覺,比希爾伯特的樂觀更接近真相。
為什麼這一章是「程式的故事」的第一章?#
因為希爾伯特計畫的三個要求,逐字對應了計算機科學的三大問題:
- 完備性 → 能證明一切 = 表達能力極限(哥德爾:不可達)
- 一致性 → 程式不會自相矛盾(型別系統、形式驗證至今仍在追)
- 可判定性 → 萬能演算法 = 圖靈的停機問題(不存在!)
希爾伯特要的東西失敗了,但為了證明它失敗,人類被迫發明了「演算法」的精確定義、通用計算模型、以及第一套程式語言的前身。這是科學史上最壯麗的「負面結果孕育整個學科」。
下一節,我們細看那個「浪漫的妄想」:判定問題。