OC

LLM 开始替 Lean 写证明:形式化验证最贵的一步可能正在自动化
科技 · 2026-07-27 · 开发者工具 · 阅读 4

LLM 开始替 Lean 写证明:形式化验证最贵的一步可能正在自动化

作者:林岚|OC 开发者生态编辑

作者 林岚 林岚

ImperialViolet 作者 Adam Langley 用 Lean 实现了一个实验性的 Zstandard 解压器,并让多个 LLM 为其的复杂性质自动生成证明。他确认这些证明能够通过类型检查,且没有用 sorry 跳过证明。

一句话结论:LLM 没有让形式化验证变得免费,但它可能正在消除大量“结论已经正确、只是证明太费时间”的机械工作。

依赖类型语言允许程序把复杂约束写进类型。例如,读取 n 个字节后,不只是返回一个字节数组,还要证明数组长度确实是 n。普通语言通常把这类条件留在注释、测试或运行时检查;Lean 则要求机器在编译阶段接受证明。

代价一直很高。seL4 项目的回顾显示,验证工作量远高于实现本身,证明代码规模也远大于被验证的 C 代码。自动求解器可以处理简单目标,但复杂问题可能长时间不收敛,工程师还得学习如何把代码写成求解器容易接受的形状。

LLM生成证明再由Lean内核检查

Langley 的实验把角色拆开:LLM 负责探索证明路径,Lean 内核只接受能够形式化检查的结果。模型可以胡说,但错误证明不能通过类型检查。这与普通 AI 编程不同,验证器不是另一位“看起来同意”的模型,而是一套确定的规则。

实验的 FSE 表构造证明覆盖了表大小、符号状态数量、状态跳转范围和可达性等性质。多个模型大约 20 分钟完成证明,但也修改了原有实现,让代码更适合证明系统。这里的自动化不是对任意旧代码按一下按钮,而是代码和证明一起迭代。

边界同样明显:这个解压器是学习项目,没有公开成生产实现,速度约比命令行 zstd 慢十倍;作者尝试把方法扩展到 AArch64 汇编等价证明时,也很快撞上内存和规模限制。

关键事实

  • 实验对象:Lean 编写的 Zstandard 解压器
  • 自动化内容:由 LLM 生成并修正形式化证明
  • 验证方式:Lean 类型检查器确认,不使用 sorry
  • 已知限制:实现较慢、规模较小、汇编验证尝试难以扩展

OC 判断

这项实验最有价值的不是“AI 会证明定理”,而是把模型输出放进一个不能靠语气蒙混过关的验证闭环。形式化方法能否普及,仍取决于证明维护成本和大型系统扩展能力。

为什么重要

  • 对开发者:关键不变量可能从注释和测试升级为机器可检查契约。
  • 对企业:密码学、解析器和系统软件会最先受益,但需要专业审查。
  • AI 工具:生成速度只有和确定性验证结合,才真正降低错误风险。

参考来源

相关阅读

基于标题、摘要和正文内容自动匹配。

更多科技

评论

围绕这篇文章补充信息、提出问题或分享观察。

0
暂无评论。

发表评论

继续看看 OC 用户围绕这个话题说了什么、做了什么。

相关帖子

更多

你们的Codex额度提前耗完了没?戒断反应如何?

<p>我在第三天就消耗了只剩1%,忍了一天,然后今天干脆用这最后的1%,开着5.6 Sol 极高 强推我一个提示词笔记本应用的功能落地。最终用时3小时,居然还是跑完了。但是现在还是出现一些戒断反应,感觉啥也做不了,就无精打采的,困。</p> <p>我做了一个Prompt Notebook,专门用来收藏或者记录自己手搓的生图提示词。带Chrome一键收藏插件。支持AI优化提示词。支持提示词中提取常用字段作为提示词百科词汇。也自带生图功能用来测提示词。但是要搭配Cloudflare R2+Worker的图床。</p> <p>今天主要是做一个AI模特的资产库。将常用的AI模特固定下来,进行身份设定,以及模特的一些角色定妆图。之后生图可以直接调用AI模特自动作为垫图。</p> <p>这是AI模特资产库的界面: <img src="/upload/thread/202608/42b5f73e-938f-45de-b74e-da69da9d72a8.webp" alt="1bb0d28b-c7dd-4327-bafa-26b60323cbed" /> 这是主界面的提示词瀑布流,支持关键词或标签搜索: <img src="/upload/thread/202608/3e15b6e7-345f-48b4-aeff-1bbd89afe9d3.webp" alt="ab998e2f-9ccc-4173-832f-223aa6c6fa81" /> 这是提示词笔记的预览界面,可以复制提示词,分享提示词,点击分享还有分享短链:(https://prompt.jintao.co.uk/share/20260806LfsmY) <img src="/upload/thread/202608/bab31972-0468-4582-b873-6309233254a6.webp" alt="20260806-201213" /> 可惜现在没额度了,我又不想换模型折腾。现在还有些界面细节和小功能需要落地完善,可能还要虫子要抓。弄好了,打算放GitHub开源。</p> <p>有朋友想试试的么?</p>

shynloc 2 4

重返OurCoders

<p>从2014年以来好久没逛过这个谈论了,不知道这个谈论的运营现在怎么样,开发人员是不是原来的人,前端UI做得不太好</p>

梁建溢 4 18

测试OurCoders能否发布照片

<p>今天小区的彩虹🌈<img src="https://share.icloud.com/photos/0ebtFydNy8r_gJETON61u4Ybg" alt="图片说明" /></p> <p>看来不能直接发照片,可以把iCloud Link的功能派上用场!</p>

梁建溢 15 45