📌 项目地址:github.com/anthropics/fermats-last-theorem | 星数:1,174+ | 协议:Apache-2.0 | 语言:Lean 4(Mathlib v4.33.0 按commit锁定)| 定位:研究工件
1994 年 Andrew Wiles 证明费马大定理,审稿人 Richard Taylor 补上最后一环;2026 年 9 月,Anthropic 把这条三百多年的数学终点线搬进了定理证明器:anthropics/fermats-last-theorem 用 Lean 4 给出费马大定理的完整、机器检验证明,论证走 Frey、Serre、Ribet、Wiles 与 Taylor-Wiles 的经典路线。一周收获 1,100+ 星。这是"AI 公司做数学基础设施"的标志性事件——与 OpenAI 用 Lean 做纳维-斯托克斯证书同月发生,两大实验室同时押注形式化验证。想系统了解 AI 基础设施全景的读者,可以配合《深入理解AI Infra》开源书教程阅读。
核心陈述在 Theorems/Thm_fermat_last_theorem.lean:
theorem fermat_last_theorem (n : ℕ) (hn : 3 ≤ n) (a b c : ℕ)
(ha : 0 < a) (hb : 0 < b) (hc : 0 < c) : a ^ n + b ^ n ≠ c ^ n
默认构建目标 FinalCheck.lean 里藏着这个项目的灵魂——一条 #print axioms 检查:构建失败的唯一出路,是证明恰好且仅依赖 Lean 的三个标准公理(propext、Classical.choice、Quot.sound),不接受任何 sorry、新增 axiom 或 native_decide。换句话说,整个仓库 60,475 个模块中任何一个想"作弊",都会在最终检查处爆掉。
| 验证层 | 工具 | 结论 |
|---|---|---|
| 主构建 | 从零 lake build(Lean 4.33.1,含 2026 内核健全性修复)+ Mathlib 源码编译 | 60,475 模块全部通过 Lean 内核检查 |
| 独立对账 | leanprover/comparator v4.33.0 对照 Challenge.lean | 陈述与引用常量逐项一致,全证明可重放,判定 "Your solution is okay!" |
| 第二内核 | nanoda 0.4.13(Rust 写的独立 Lean 内核)+ lean4export 环境导出 | 检查 1,052,234 个声明零错误 |
整个仓库没有任何模块包含 axiom、sorry、native_decide、unsafe、extern、implemented_by、partial def 或 #eval。对形式化验证稍有了解的人知道,"同一内核自证"和"独立内核互证"的置信度差距巨大——这是把数学证明做成了密码学级别的工件。
html/ 目录把整个证明渲染成可离线浏览的网页,KaTeX 与 Graphviz 编译为 WebAssembly,不联网也能翻PROOF-PATH.md 给每一步证明命名并指向对应的 Lean 定理——按图索骥读数学结构证明并非从零闭门造车:代码大量致敬并改进自 Imperial College London FLT 项目(Kevin Buzzard 主持,Frey 椭圆曲线、Galois 表示、形变理论、patching 等)、flt-regular(Kummer 定理)与 Mathlib,ATTRIBUTION.md 列出了 106 个含第三方材料的文件和 23 个复现 Mathlib 文本的模块。Apache-2.0 开源。注意定位是研究工件:不维护、不接受贡献——它的价值在于存在本身:一条可被任何人重放的、终极可核查的现代数学证明。
anthropics/fermats-last-theorem是Anthropic于2026年9月发布的研究工件:用Lean 4(基于Mathlib)对费马大定理给出完整、机器检验的证明,论证路径是Frey、Serre、Ribet、Wiles和Taylor-Wiles的经典路线。仓库60,475个模块全部通过Lean内核检查,只依赖Lean三个标准公理(propext、Classical.choice、Quot.sound),不含sorry、新增公理或native_decide。项目定位为研究工件,不维护不接受贡献。
三重验证:一是从零lake build(Lean 4.33.1含2026内核健全性修复),Mathlib从源码编译,全部60,475模块经Lean内核检查,FinalCheck.lean强制证明只依赖三标准公理否则构建失败;二是leanprover/comparator对账,确认证明的陈述与挑战声明逐字符一致且整个证明含Mathlib可重放;三是第二内核nanoda(Rust写的独立Lean内核)接受了同一环境导出,检查了1,052,234个声明零错误。
不需要会Lean也能入门:仓库html/目录把整个证明渲染成可离线浏览的网页(PROOF-PATH.md给每一步命名并对应Lean定理);想跑构建需要Lean 4.33.1与Mathlib(lakefile.lean按commit锁定版本);数学系读者可直接读Theorems/Thm_fermat_last_theorem.lean里的定理陈述。注意它是研究工件:不维护、不接受贡献。