
新智元报道
新智元报道
【新智元导读】历时三周,陶哲轩成功地用AI工具完成了形式化多项式Freiman-Ruzsa猜想证明过程的工作。他再次呼吁数学研究者学会正确利用AI工具,网友惊呼:以后的数学论文不需要人类可读了?




就在几分钟前,Lean成功证明了PFR猜想,且没有留下任何悬而未决的问题(后文将会提到的「sorry」)。这意味着,这个项目的所有主要目标,都已经圆满完成。

陶哲轩呼吁:数学家们一定要学会用AI了
有网友向陶哲轩提问:这是否意味着,有越来越多的证明是人类不可理解,但机器可解决的? 
陶哲轩表示,恰恰相反,如果证明的形式化变得更加主流,并且更多地得到AI辅助,那完全有可能创建出既人类可读、又能被机器阅读的证明。 PFR证明的blueprint就证明了这一点——既人类可读,每个证明步骤还带有形式化的理由,还能得到一个依赖关系图,来可视化整个论证的全局结构。 
当然,陶哲轩也提醒道,不要把「计算机辅助证明」和「不能提供理解/偶然成立的证明」搞混了。 比如对于有限单群分类的超过10000页的证明,几乎百分百是由人工生成的,但一个由计算机协助处理的替代证明,在某些方面看更令人满意。 
跟网友经过几轮讨论后,陶哲轩做出以下总结—— Blueprint本身就是一种编程语言,可以看作一种Lean的伪代码。 许多数学家都应该将写作风格从标准数学英语/LaTex,转换为Blueprint/LaTex。 




网友:以后研究都不需要「人类可读」,AI懂就行了
我在研究生阶段对数学的尝试,就就好像一个穴居人本来在摇晃一辆普通的独轮车,忽然眼前出现了一辆直升机,上面的人向我伸出手,告诉我来试试看,一点也不可怕。 自从听说四色定理以来,我一直很清楚,形式化是数学的未来。但我没有预料到的是,陶哲轩如此从容不迫,形式化才刚刚获得牵引力,他就能用AI完成几乎所有的数学写作。



1.理解自己想证明的东西,通过阅读或者与人交谈; 2.用纸笔绘制出包含要点的草图; 3.将校样输入到LaTeX中,让自己要交的作业变得人类可读。


PFR猜想的形式化过程
以下是陶哲轩发在博客上的形式化过程,感兴趣的读者可以挑战一下。 11月,陶哲轩与Yael Dillies和Bhavik Mehta启动了一个合作项目,目的是利用Lean4对自己之前关于Freiman-Ruzsa(PFR)猜想的预印本论文进行形式化。 
项目虽然启动不到一周,但进展相当顺利,大部分文件都被形式化了。 这个项目得益于Patrick Massot的Blueprint工具,这个工具让团队能够编写与Lean形式化紧密相关的、人类可读的证明「蓝图」。 在Blueprint中,有一个陶哲轩特别喜欢的功能,那就是自动生成的依赖图。它可以提供形式化进度的大致快照。截至当时,依赖图的样子如下: 
在依赖图的图例中,不同的气泡(表示引理)和矩形(表示定义)被赋予了不同的颜色。 简单来说,绿色的气泡或矩形表示那些已经被完全形式化的引理或定义,而蓝色的则指那些已准备好进行形式化的引理或定义(这意味着它们的陈述已经形式化,但证明还没有,同时所有相关的前置引理和证明也是如此)。 而陶哲轩团队的目标,就是将所有通向「pfr」气泡的底部气泡,都变成绿色。 点击依赖图底部的「pfr」气泡时,可以看到以下内容: 
图中,Blueprint显示出一种人类可读的PFR语句形式,还附带了这个语句的人类可读证明,该证明依赖于项目中的其他语句: 
注意,「pfr」气泡是白色的,但有一个绿色边框,这意味着PFR的陈述已经在Lean中正式化,然而证明并没有。 证明本身还没有准备好被形式化,是因为一些先决条件(特别是「entropy-pfr」Theorem 6.16)甚至还没有形式化的陈述。 单击依赖关系图中PFR陈述下方的Lean链接,就可以进入相应的Lean文档: 
这就是Lean中的典型定理的样子。在冒号之前有许多假设,例如: G是一个属于顺序2的有限初等阿贝尔群 (这就是团队选择形式化有限场向量空间的方式);A是G的非空子集;A+A的基数<K倍A的基数。 冒号后边的陈述是结论:A可以以c+H的和的形式包含在G的子群H中,以及在最多
的基数的集合c中。 聪明的读者可能会注意到,上面的定理似乎缺少一两个细节,例如,它没有明确断言H是一个子群。 这是因为「pretty printing」模式抑制了定理陈述中的一些信息,只要单击「来源」链接,就可以看到了。 
可以看到,H需要具有G加法子群的类型。 该定理底部有一个明显的「sorry」,这意味着尚未为该定理提供证明,但最终意图当然是用实际证明,来代替这个「sorry」。 填补这个「sorry」现在还很难做到,所以需要寻找一个更简单的任务。 下面是一个简单的中间引理「ruzsa-nonneg」,它出现在证明中: 
该表达式
指的是X和Y之间的熵Ruzsa距离,它是一个实数。 气泡是蓝色的,带有绿色边框,这意味着陈述已经形式化,证明也准备好形式化了。 Blueprint依赖关系图表明,这个引理可以从前面的一个引理中推导出来,称为「ruzsa-diff」: 
「uzsa-diff」也是蓝色的,边框是绿色的,所以它与「ruzsa-nonneg」具有相同的当前状态:陈述是形式化的,证明也准备好形式化了,但证明还没有用Lean编写。其中,
是X的香农熵。 通过观察Lemma 3.11和Lemma 3.13,我们可以清楚地看到|H[X] - H[Y]|显然是非负的。 因此,即使我们还不知道如何证明Lemma 3.11,但假设Lemma 3.11成立,并补全Lemma 3.13的证明,应该是轻而易举的事。 Lemma 3.11的形式化如下:(「sorry」表示Lemma目前还没有证明) 
同时,Lemma 3.13的形式化为: 
现在,我们要试着把后一个「sorry」填上。 在PFR github仓库的本地副本中,陶哲轩用编辑器(Visual Studio Code,扩展名为lean4)打开了相关的Lean文件,并导航到「rdist_nonneg」的「sorry」处。 随附的「Lean信息视图」就会显示Lean证明的当前状态: 
在底部,可以看到我们需要证明的目标。 接下来,在证明这个说法时,需要运用一系列「战术」来改变目标和/或假设。 第一步是加入应用Lemma 3.11所需的因子2。 
现在,我们有了两个目标(和两个「sorry」):一个是证明
等价于
;另一个是证明
。 在填上第一个「sorry」之后的状态如下(删去了一些无关的假设): 
这里可以使用一种非常方便的「linarith」策略,它能解决任何可以通过现有假设的线性运算得出的目标: 
成功之后可以看到,状态报告显示这个分支已经没有需要证明的目标了。所以,我们继续剩下的「sorry」,也就是证明
: 
在这里,我们将尝试引用Lemma 3.11。为此,陶哲轩添加了几行代码: 
于是,我们又有了两个子目标,一个是证明约束
(可以称之为「h」),另一个是就从h推导出前一个目标
。 对于第一个目标,需要调用正在编码Lemma 3.11的「diff_ent_le_rdist」引理。 其中一种方法是尝试使用「exact? 」策略,它会自动搜索,看目标是否可以立即从现有的引理中推导出来: 
于是,陶哲轩点击了建议的代码(系统会自动将其粘贴到正确的位置)。结果成功了,只留下最后的「sorry」: 
这里,陶哲轩通用使用了「exact?」策略,并按照它的建议建立匹配了边界
: 
在补全最后一个「sorry」时,陶哲轩再一次尝试了「exact?」,想知道如何把h和h'结合起来才能达到预期目标,结果成功了! 
可以看到,所有的下划线都消失了。也就是说,Lean已将其视为有效证明。 通过省略几个中间步骤,我们可以将这个证明压缩得相当紧凑: 
现在证明完成了! 我们最后得到的,基本就是一个「单线证明」,考虑到Lemma 3.11和Lemma 3.13是如此接近,这也是合情合理的。 然后,陶哲轩将所有内容推送回Github主版本库。 Blueprint的重建需要相当长的时间(约半小时),依赖关系图现在以绿色显示 「ruzsa-nonneg」: 
因此可以说,PFR的形式化更接近完成了。 不过,虽然「ruzsa-nonneg」现在被涂成绿色,但还没有这个结果的完整证据,因为它所依赖的引理「ruzsa-diff」不是绿色的。 从这一点上看,证明仍然是局部完成的。 陶哲轩表示,希望在未来的某个时候,前身结果也能被证明,那时,就可以说PFR猜想的结果,得到了完全的证明。 参考资料: https://news.ycombinator.com/item?id=38528582 https://terrytao.wordpress.com/2023/11/18/formalizing-the-proof-of-pfr-in-lean4-using-blueprint-a-short-tour/


































内容中包含的图片若涉及版权问题,请及时与我们联系删除
评论
沙发等你来抢