跳轉到

2012 奇階定理大案:Gonthier 團隊用 Coq 征服 255 頁群論巨著#

報案人:有限群論。案情:一個長達 255 頁的證明,無人能完全驗證。 偵探:Georges Gonthier 率領的 MathComp 團隊。兇器:Coq + SSReflect + MathComp。

案發現場#

1963 年,Walter Feit 與 John Thompson 發表了群論史上最著名的長證明之一:奇階定理。

它斷言:每一個奇數階的有限群都是可解群。用符號寫出來,就是對任意有限群 \(G\) ,若 \(ord(G)\) 為奇數,則 \(G\) 可解。

這個定理是有限單群分類大計畫的開端,被稱為「巨著中的巨著」。原文刊於《Pacific Journal of Mathematics》,全文長達 255 頁,充滿局部分析、特徵標理論與複雜的計數論證。

案件的疑點在半世紀後浮現:

  • 證明太長,沒有任何一個數學家敢說自己從頭到尾檢查過每一步。
  • 推理鏈條跨越特徵標理論、群作用、模表示,任何一處筆誤都可能讓整棟大廈倒塌。
  • 2005 年 Gonthier 才剛用 Coq 封印四色定理,群論學家不禁要問:奇階定理會不會是下一個藏有暗門的懸案?
  • 紙本證明依賴大量「顯然」「易見」「留給讀者」的跳步,機器無法接受這種證詞。

於是 2006 年起,微軟劍橋研究院的 Gonthier 召集了一個跨國團隊,立下豪語:把整個 Feit-Thompson 證明搬進證明助理 Coq,一個字都不放過。

偵查過程#

線索一:為何選 Coq?為何要發明 SSReflect?#

團隊的第一個判斷是:原生 Coq 寫不動這種規模的數學。傳統的 Coq 腳本冗長、結構鬆散,面對群論這種「定義層層疊疊」的領域會直接迷路。

Gonthier 在四色定理案中已經學到教訓,於是打造了 SSReflect(Small Scale Reflection),中文可譯為「小規模反射」。

其核心思想可以用一句話概括:讓計算來代替推理。形式化地說,對於一個命題 \(P\) ,若能找到一個可判定的布林函數 \(b\) ,使得 \(P\) 與 \(b = true\) 等價,那麼證明 \(P\) 就化約為計算 \(b\) 。

團隊建立了著名的反射引理模式:

\[ reflect(P, b) \]

它表示命題 \(P\) 與布林值 \(b\) 互為鏡像。當 \(b\) 計算出 \(true\) 時, \(P\) 自動成立,無需冗長的邏輯推演。

舉例來說,有限群上的成員判斷 \(x \in G\) ,在紙本上是一個邏輯命題,在 SSReflect 中同時是一個可執行的布林函數 \(mem(x, G)\) 。兩者之間的橋樑是:

\[ x \in G \leftrightarrow mem(x, G) = true \]

這樣一來,大量有限結構的推理都可以交給計算完成,證明腳本縮短了一個數量級。

線索二:MathComp 函式庫——重建整座城市#

光有方法還不夠,還需要地圖。團隊從零開始建造了 Mathematical Components(MathComp)函式庫,系統性地形式化了:

層次 內容 規模
代數結構 群、環、域、模的階層式結構 數千個定義
有限群論 子群、正規子群、商群、群作用 核心戰場
線性代數 矩陣、行列式、特徵標理論基礎 支撐表示論
數論與組合 整除性、計數引理、級數 彈藥庫
邏輯基礎 SSReflect 擴展、反射引理、重寫策略 偵探工具箱

MathComp 採用「典範結構」(canonical structure)來組織代數階層,使得 \(G\) 既可以被看成集合,又可以被看成群,還可以被看成作用對象,而類型推斷會自動找到正確的視角。

線索三:決戰奇階定理的戰略#

Feit-Thompson 證明的整體結構是一個極小反例法。假設存在非可解的奇階群,取其中階最小者 \(G\) ,推導出矛盾。

團隊將其拆解為兩大戰役:

  1. 局部分析:研究 \(G\) 的極大子群結構,證明它們都是可解的,且具有特定的半直積形式 \(M = V \rtimes H\) ,其中 \(V\) 是初等阿貝爾群, \(H\) 是作用其上的群。
  2. 特徵標理論決戰:利用特徵標的正交關係與分歧理論,構造出不可能存在的特徵標值,最終得到 \(ord(G)\) 必為偶數的矛盾。

關鍵的計數引理之一是類方程:

\[ ord(G) = ord(Z(G)) + \sum_{i} [G : C_{G}(x_{i})] \]

其中 \(Z(G)\) 是中心, \(C_{G}(x_{i})\) 是代表元的中心化子。團隊必須把這種「紙上一行,形式化一百行」的論證全部補齊。

最終的形式化成果約為 15000 個定義、 170000 行 Coq 腳本,外加 4 本手寫對照書。這是當時人類史上最大的形式化證明。

結案報告#

2012 年 9 月,Gonthier 團隊宣布:奇階定理在 Coq 中得到完整驗證。Coq 核心檢查器對整個證明說了「OK」,相當於法官敲下法槌。

此案的遺產極為深遠:

  • 信任的轉移:255 頁紙本證明從此有了機器背書,不再依賴任何個人的權威。
  • MathComp 成為標準:它從專案附屬品變成整個 Coq 社群的通用數學函式庫,後來的形式化代數幾乎都站在它的肩膀上。
  • SSReflect 方法論確立:「小規模反射」證明了計算與演繹可以混合,深刻影響了後來 Lean 的 tactic 設計。
  • 通往分類定理之路:奇階定理只是有限單群分類的第一塊磚,此案證明了整條分類大定理的形式化在原則上是可行的。

用偵探小說的話說:這不是破了一樁案,而是證明了「再大的案子都能破」。

證據與工具#

證據一:反射引理的典型寫法

Lemma mem_reflect (T : finType) (x : T) (A : {set T}) :
  reflect (x \in A) (x \in A).

這裡的 \(reflect\) 把成員命題和布林計算綁在一起,後續證明可以直接用 \(rewrite\) 加計算完成。

證據二:群階的定義片段

Definition order (G : {group gT}) := #|G|.
Lemma odd_order_soluble (G : {group gT}) :
  odd #|G| -> solvable G.

這就是奇階定理在 MathComp 中的最終陳述:若群 \(G\) 的階 \(#|G|\) 為奇數,則 \(G\) 可解。

證據三:偵探工具箱

工具 作用
Coq 依賴型別證明助理,擔任最終法官
SSReflect 小規模反射語言,縮短證明、強化結構
MathComp 有限群、代數、組合的完整城市地圖
CoqIDE / Proof General 互動式審訊室,逐行盤問證明

延伸閱讀:Gonthier et al., "A Machine-Checked Proof of the Odd Order Theorem"(2013);MathComp Book《Mathematical Components》;Feit-Thompson 原始論文(1963)。