很多人第一個會先想到,Lean 通過是不是就代表數學結果已經成立?這個問題要先定義清楚:Lean 實際檢查的是哪個命題?如果一份手稿用自然語言描述定理,研究者再把其中一個版本寫成 Lean 程式,核心檢查器所確認的是形式化證明符合這個程式中的命題與環境設定。它不會自動判斷這段程式是否完整表達手稿原意,也不會代替數學家評估結果是否重要。

OpenAI 近期公開了由內部模型產生的數學手稿和輔助證明材料。官方 repository 說明,成果處於不同驗證階段,不是每份手稿都有 Lean 形式化;未形式化的結果也可能有問題。對讀者而言,篇數、手稿、證明檔與檢查設定要分開看,不能把「已公開」直接理解成「已證實」。

一、先把問題定義清楚:Lean 通過究竟驗證了什麼?

Lean 通過表示檢查器接受了指定形式命題的證明,不代表手稿的自然語言主張、建模方式及研究意義都已確認。第一步應核對程式裡究竟證明了什麼,以及它與論文中的主張是否一致。

形式化命題、假設與手稿主張的差別

數學手稿會用文字、符號和前後脈絡說明一個結果;Lean 則需要明確的定義、型別、前提與結論。這個將數學表述轉成機器可處理語言的過程稱為形式化。研究者必須先決定「空間」「連續」「有限」等詞在該證明中如何定義,再把假設寫清楚,才能讓系統檢查。

這裡有一段人工判讀工作:形式化版本可能只涵蓋手稿中的核心引理,也可能在特定前提下證明較窄的命題。假設若比手稿原文更強,形式證明仍可能完全正確,卻沒有證明讀者以為的那件事。反過來,手稿中的記號或用語若在形式化時有歧義,兩邊看似相同的敘述也可能指向不同命題。

因此,複核要把手稿的定理逐句對照 Lean 的 theorem statement,查看定義、量詞範圍、前提和結論。不要只讀程式註解或論文摘要。若命題依賴自訂記號、型別類別或未在附近展開的定義,也要追到實際定義,確認它們沒有改變主張的範圍。

從「證明可檢查」到「研究結論可信」還有哪些工作

Lean 的 kernel(核心檢查器)是用來檢查核心型別理論中的證明項是否符合規則。自動化策略、語法展開與證明建構工具可以協助產生證明,但最後仍由核心檢查器確認輸出的項是否具有所宣稱的型別。這將一部分錯誤從「相信某段長篇推理」轉成「檢查形式證明及其明確依賴」。

然而,檢查器不會替人選題,也不會判定前提是否符合原問題。它無法單靠「通過」推斷這個結果是否新穎、是否回答了原本的猜想,或其結論能否套用到其他條件。即使所有形式化步驟都合規,定理也可能只是因為前提設得過強而容易成立。

Lean 官方文件提醒,檢查的意義以可信定理敘述正確為條件;若敘述與讀者理解不同,就得調查定理本身及引用的定義。這不是形式化的缺陷,而是它把工作邊界劃得更清楚:機器檢查推導,人來確認命題翻譯與數學脈絡。

Lean 參考手冊指出,證明檢查只有在可信挑戰檔中的定理敘述正確時才有意義。這項前提提醒研究者,必須一併審閱「證明了什麼」,不能只看檢查器回報成功。(Lean Reference Manual,〈Validating a Lean Proof〉)

二、為什麼大量公開成果不能只看篇數?

不能。手稿數量、彼此相關的結果家族,以及完成形式化的證明數量,是不同統計對象。OpenAI 的資料目錄說明,一個 family 可能包含主要結果、相關論證、推論或替代證明,且材料的驗證狀態不一。

手稿、結果家族與形式化材料各自扮演的角色

閱讀大型研究資料集時,先分清楚目錄如何計數。手稿是一份文本;結果家族則把同一脈絡中的主要結果、延伸推論或不同證明整理在一起。形式化材料可能對應整份手稿,也可能只對應當中的一部分。這幾種項目不能直接相加,也不能當成同一個「已驗證定理」的數量。

OpenAI repository 同時提供論文、來源檔、個別建置說明、Lean library 和形式化目錄。這代表讀者可以逐篇追查材料,但仍須打開該篇的狀態與關聯檔案。官方也明確表示,並非每份手稿都有 Lean 形式化,且未形式化的結果可能需要修正。目錄會持續更新,檢視時應記下當下版本或提交紀錄。

驗證狀態不同,應逐篇確認而非整批推論

「模型產生」「研究者檢查過」「有可建置的形式化證明」「獨立研究者確認數學內容」代表不同層次,不能互換。公開手稿表示材料可供閱讀;有 Lean 檔表示某些命題被寫成形式語言;成功建置表示程式在指定環境中能執行。這些訊息都不自動等於完整同行審查。

OpenAI 公開頁面和 repository 足以支持「有哪些材料、官方標示何種狀態」這類描述,但不足以單獨證明所有數學主張都正確,或已由學界獨立確認。若要評估某一項結果,應引用該手稿、對應的形式化條目與建置設定,不要拿整個目錄的總體描述替個別結果背書。

手稿、相關結果家族與 Lean 形式化材料以不同區塊呈現,並以連線表示彼此關聯。
手稿、結果家族與形式化材料各有不同涵蓋範圍,不能合併當成已驗證定理的數量。

三、Lean 的檢查能力與邊界

核心檢查器能檢查形式化證明項是否符合指定命題的型別規則;命題是否忠實代表手稿,以及依賴與假設是否合理,仍要研究者確認。讀取「通過」結果時,還應查看它實際檢查的檔案、版本與設定。

核心檢查器如何檢查證明項

Lean 將使用者寫下的語法轉成核心型別理論中的表達,再由可信 kernel 檢查輸出的內容是否遵循規則。簡單說,定理可以看成一個待證命題,證明則是該命題的一份形式化見證;檢查器判斷這份見證是否符合指定命題。自動策略可以嘗試尋找證明,但策略本身產生的內容仍須通過核心檢查。

這使形式化驗證特別適合檢查長推導中的局部步驟、符號推理和依賴鏈。它也留下可重跑的程式材料,讓其他人能在相同工具鏈下嘗試重建。若同一證明可由獨立檢查器再次檢查,能增加對檢查流程的信心;但不同檢查器也仍有各自的軟體、邏輯與環境假設。

人仍須核對定理敘述、定義、假設與依賴

研究者至少要查看三層內容。第一層是定理本身:它的假設和結論是否對應手稿?第二層是背景定義與依賴:引用的 lemma、型別類別及套件版本提供了什麼前提?第三層是數學脈絡:論證是否使用合適的已知結果,結論的適用範圍是否被清楚描述?

依賴套件中可能包含公理或額外假設。這不表示證明一定有問題,但必須知道定理是在什麼基礎上成立。讀者可查專案列出的公理與依賴,並確認沒有把尚待證明的命題直接當成前提。若看不懂某個定義,需請熟悉該分支的研究者協助,而不是從工具成功訊息推論其合理性。

檢查層次可回答的問題仍需確認的事項
Lean 建置與核心檢查證明檔是否符合指定命題及工具規則?命題是否正確對應手稿?
定理敘述與依賴前提、定義、公理及套件依賴是什麼?假設是否合適,推論是否誤用背景結果?
數學脈絡審閱結果在相關領域中代表什麼?是否新穎、重要,能否支持手稿的整體結論?

Lean 參考手冊說明,核心檢查器負責檢查 elaborator 輸出的內容是否遵循型別理論規則;檢查工具也無法排除人為誤讀定理敘述的風險。(Lean Reference Manual,〈Elaboration and Compilation〉及〈Validating a Lean Proof〉)

四、研究者如何複核並重現一項結果?

從手稿與形式化命題對照開始,再固定版本、依照專案說明建置、檢查依賴與公理,最後由領域研究者審閱數學意義。只保存一張成功畫面或一句「已由 Lean 驗證」,不足以讓他人重做這些工作。

由命題對照、證明檢查到數學脈絡審閱

第一步,找出手稿裡每個主要主張,記下它對應的定理或 lemma。比對兩邊的假設、量詞和結論,留意形式化結果是否只涵蓋部分論證。若手稿聲稱一項一般性結果,形式證明卻只處理特定案例,應如實標出差距。

第二步,依 repository 的目錄找到證明檔及正式說明,從乾淨環境執行建置。保留成功或失敗訊息、執行指令、工具版本和程式碼版本。若建置失敗,先分辨是依賴下載、環境設定或證明本身改動造成;修正後記下差異,不要只覆蓋舊結果。

第三步,檢視證明依賴和公理,必要時使用專案提供的額外檢查流程。最後由熟悉該領域的研究者閱讀原始論證,檢查關鍵轉折、引用來源、既有定理的使用方式,以及結論是否真的回答原問題。形式化與傳統數學審閱互補,適合共同提供證據。

固定版本、建置環境、記錄錯誤與修訂

重現需要的不只是程式碼網址。要固定 repository 的 commit 或 release、Lean toolchain、套件鎖定檔與建置指令,並保留作業系統及必要工具資訊。Mathlib 等數學函式庫會持續演進,若只寫「使用最新版」,日後重跑可能取得不同依賴,難以判斷差異來自證明還是環境。

也要保存中間結果:哪個命題成功檢查、哪些檔案沒有涵蓋、用了哪些公理或外部資料、遇到什麼錯誤,以及作者如何修訂。OpenAI 說明將保留公開版本歷史,修正會以新版本記錄。對使用者來說,版本歷史能追蹤材料變動,不能替代對每次修改的內容審查。

  1. 將手稿主張逐項連到形式化定理,對照前提、定義與結論。
  2. 固定提交版本、Lean 工具鏈和依賴鎖定檔,照專案指令重新建置並保存輸出。
  3. 檢查定理依賴、公理和未形式化的部分,再請熟悉該領域的研究者審閱論證及適用範圍。
流程圖依序呈現固定程式版本、工具鏈與依賴,保存建置紀錄,檢查公理與依賴,再由數學研究者審閱。
可重現的檢查須留下固定版本與建置紀錄,並由研究者確認命題和數學脈絡。

五、AI 進入數學研究後,驗證分工怎麼調整?

模型可以增加候選問題、推導與形式化材料的產出,人類仍須判斷問題意義、命題翻譯、證據完整度及結果能否納入既有研究。流程要依題目設計,不能把單一模型或工具設定成所有數學工作的共同標準。

模型產生候選結果,人類評估意義與適用範圍

當模型能生成大量研究材料,研究工作會增加整理和驗證的需求。候選結果可能互相相關、共享前提,或只是同一想法的不同表述。整理結果家族、找出主要定理與依賴,再決定哪些值得投入專家時間,會成為研究流程的一部分。

形式化工具能將某些推導轉成機器可檢查的對象,降低人工逐步核算的負擔;但將問題轉成定義、決定假設、辨認真正的新意,仍需數學訓練。研究者也須確認材料有沒有依賴已知結論、忽略反例,或只解決比手稿主張更窄的版本。

依問題、原因與方法設計可持續的複核流程

不同分支與不同類型的結果,適合的檢查方式並不相同。可計算的有限案例、抽象存在性定理和長篇分析論證,形式化成本、可重現條件與人工審閱重點各異。流程設計應先說明要降低哪種錯誤,再安排命題對照、建置檢查、依賴審核或獨立專家複核,不應把「有 Lean 檔」當成通用驗收章。

對開發者與研究者而言,可先挑一項同時提供手稿、形式化證明和建置說明的結果,依上述步驟檢查。對一般讀者而言,看到「已形式化」時,可以追問形式化涵蓋哪個命題、依賴何種假設,以及是否有人審閱與原文的對應關係。這些問題比只看發布篇數,更能判斷目前有哪些證據。

  • Lean 通過檢查的是形式化命題及其證明項,手稿主張是否忠實轉寫仍須核對。
  • 公開手稿、結果家族、形式化檔與同行審閱是不同層次,驗證狀態應逐項確認。
  • 重現時固定程式碼與依賴版本,保留建置紀錄,再由數學領域研究者審閱假設和適用範圍。

常見問題

Q1:Lean 證明通過,可以說數學定理已被證明嗎?

可以說指定的形式化命題有一份經 Lean 核心檢查器接受的證明。若要說手稿中的定理已被形式化證明,還須確認命題、假設及定義與手稿主張相符。

Q2:有 Lean 檔就代表整篇論文都完成形式化嗎?

不一定。形式化可能涵蓋一個定理、引理或部分推導。應查看形式化目錄、檔案和說明,確認實際涵蓋範圍。

Q3:自行建置成功,還需要數學家複核嗎?

需要。建置成功表示指定材料在該環境下通過相應檢查;研究者仍要檢視命題翻譯、前提、依賴、推理脈絡和結果意義。

Q4:如何讓別人重現形式化結果?

提供可存取的程式庫版本或提交識別碼、工具鏈與依賴版本、完整建置步驟和輸出紀錄,並標示未涵蓋或仍待確認的部分。