这不是一道有3000亿个未知数的题
先看一个数字:292,890,231,905。约2929亿,四舍五入就是标题里的3000亿。它不是某个大模型的参数,而是一个多项式里的变量个数。
这个多项式来自一份11月6日更新的手稿,标题很直白:《Z is Diophantine in Q》。仓库简介只写了一句话:这是一份“整数集 Z 在有理数集 Q 中是丢番图集”的证明。GitHub
它只做一件事:对任意有理数 q,q 是整数,当且仅当存在 292,890,231,904 个有理数 w,使 P(q,w)=0。仓库给出的统计是:一个自由的有理输入,加上 292,890,231,904 个有理辅助变量。 换句话说,它把“q 是不是整数”翻译成了一个有理数方程有没有解的问题。GitHub 仓库
这听起来像让 AI 去解一道有 3000 亿个未知数的题。不是。这个多项式不是被“解”出来的,而是被“造”出来的;那 2929 亿个变量也不是 2929 亿个需要同时猜中的数,而是构造里的辅助变量:很多只是记录中间步骤和校验条件。
它把“整数”翻译成了方程
要理解它为什么重要,得回到 1900 年。希尔伯特在巴黎的国际数学家大会上提出 23 个问题,第 10 个是:有没有一种通用算法,能判定任意整系数多项式有没有整数解?1970 年,苏联数学家尤里·马季亚谢维奇给出否定答案:这样的算法不存在。
把“整数解”换成“有理数解”,问题就变成了另一个版本。这个版本一直悬而未决。10 月 6 日,OpenAI 一次性公开了七百多篇数学手稿,其中一篇预印本给出了否定回答:没有算法能判定整系数多项式是否有有理零点。 注意,这不是希尔伯特原来的第 10 问题,而是它的有理数版本;变量个数也是输入的一部分。OpenAI
难点在这里:有理数里没有“整数”这个现成标签,你得用方程把它认出来。否定性证明有一条路,就是先证明整数集 Z 本身能在 Q 里被一个多项式方程“定义”出来。这样,任何关于整数的方程问题,都能翻译成关于有理数的方程问题;整数那边已经不可判定,有理数这边也跑不掉。Glazer 的手稿把这条路走成了显式构造。
所谓“丢番图集”,说白了就是“能用多项式方程有解来描述的集合”。比如“x 是偶数”可以写成:存在整数 y,使 x=2y。“x 是整数”在有理数里,则要写成:存在一堆有理数 w,使 P(x,w)=0。
那 2929 亿个变量是怎么来的?因为那份大构造是直译。整数加法、乘法、比较、除法,还有椭圆曲线上的点加,全部要拆成多项式约束,再一层层拼起来。拼得越老实,变量越多。那版 2929 亿变量的构造,仓库里甚至没有真的把单项式展开:大常数和有限乘积都用构造器表示,展开后的多项式并没有被完整生成。GitHub 仓库
这就解释了为什么“3000亿个变量”听着吓人,却不是算力故事。它不是 3000 亿个未知数等着被求解,而是一份极其啰嗦的翻译稿。工作量在翻译规则,不在数字大小。
真正的数字是9625
更值得看的是后半段:同一份手稿里,还有一个 9,625 个变量的四次多项式,做的是同一件事。它有 82,476 个非零单项式,系数绝对值都小于 2^80。 这个版本不是“近似”,它的有理零点投影同样恰好是 Z。GitHub 手稿
同一天里,从 12,504 压到 9,625;而从 2929 亿到 12,504,是另一次重写。这不是把方程“跑”小了,而是把翻译方案重写、合并、压缩变量。9,625 仍然很多,但它是有限的、可展开的、可逐项核对的。“显式”两个字的分量就在这里:不是只说“存在一个多项式”,而是把多项式交出来。
这件事的数学后果也不小。如果 Z 能在 Q 中被定义,那么有理数上的方程可解性问题就和整数上的一样不可判定;手稿还给出一个推论:HTP(Q) 与停机问题 0’ 多一等价。 翻成大白话:判定有理数方程有没有解,和判定程序会不会停,难度是同一档。GitHub 手稿
先别急着说“解决了”
但这里还有一个容易被标题盖掉的事实:这份工作是人机协作,不是 AI 独立完成的。仓库写得很清楚,第三版使用了 Gabe Conant、Sohail Farhangi、James Freitag、Elliot Glazer、Jenn Park、Caroline Terry 的集体笔记。 更早的版本还标注了多个模型参与起草和审计。AI 是工作流的一部分,不是唯一的作者。GitHub 仓库
更重要的是验证。仓库自己写着:Lean 形式化还不完整,主定理对应的有界多项式声明里仍有 `sorry`;AI 审查和成功的有限检查,不等于独立的同行评议,也不等于完整的形式化证明。 这不是黑点,而是数学的常态:手稿、证书、形式化、同行评议,是四道不同的关。GitHub 仓库
所以,更准确的说法不是“AI 把数学难题解决了”,而是“一份人机协作的证明手稿和一个可以检查的对象被公开了,正在等待数学界消化”。3000 亿是标题,9625 是工作;而 `sorry` 还在,说明工作没完。
普通人不需要读懂那个多项式。你只需要记住三个问题:这个数字在数什么?它是被解出来的,还是被构造出来的?谁来检查它?这三个问题,比 3000 亿本身更有用。