数学家陶哲轩在形式证明帮助下发现论文中错误

数学家陶哲轩在Lean4形式化证明时发现已发表论文中的错误:

陶哲轩在用Lean4发现了一个小错误:论文论证中出现的表达式 12logn-1n-k-1 在 n=3,k=2 的情况下实际上是发散的。幸运的是,这个问题只影响到较小的 n 值,对于 n≥8 的情况,整体论证仍然成立,更小的 n 值可以用更粗糙的方法处理。陶哲轩将添加一个脚注,承认之前版本的论证略有错误,这是在 Lean 中通过形式化发现的。

他在本月初开始在 GPT4 的帮助下学习 Lean4:

使用 Lean4 等形式化证明系统来验证数学证明、捕捉错误和提高严谨性的问题。

陶哲轩利用Lean发现了他最近一篇论文中的一个小错误。交互式定理证明器允许通过逐步证明语句来探索思想,而战术语言等工具则有助于实现常规步骤的自动化。

目前正在开展一些工作,将语言模型与证明助手连接起来,帮助提出策略建议,并有可能找到证明,不过这仍然具有挑战性。

形式化有助于解决历史上由于定义的细微差别而产生的问题。随着时间的推移,形式化的程度可能会提高,从而有助于扩展现有成果和发现。

对于想要简单了解 Lean4 的人来说,自然数游戏非常棒: https: //adam.math.hhu.de/#/g/hhu-adam/NNG4

Lean4 与 TLA+ 或 Alloy 有何不同?

Lamport 的 TLA+更多地是为试图设计系统、写下规格并推理事物如何动态运行的软件人员而设计的。

用于创建形式规范,围绕状态机中的程序行为。TLA+ 以清晰的方式让人有抽象概念。

Lean4 主要用于写下数学证明,而很少用于软件(尽管根据库里-霍华德对应关系,数学证明和程序具有等价性,因此界限有点模糊)。有"mathlib",它就像一个经过正式验证的数学标准库,人们可以在新的证明中做出贡献和使用。

最近批准了一项多年的努力,开始在Lean4 中形式化费马大定理的证明.

Lean 4 的一个很酷的事情是它也是一种编程语言,使用与证明相同的语法,使您可以轻松地考虑证明您编写的程序的正确性属性。Lean 4 的大部分内容及其策略都是用 Lean 4 编写的(尽管此时几乎所有代码都没有任何相关的证明)。

Leo de Moura 也希望将 Lean 4 用于软件验证。

都打算发展为通用编程语言。

形式验证好处

形式验证几乎是消除 bug 的灵丹妙药,即使它不是 100%(没有什么是)。

它在消除错误方面肯定比模糊的哲学立场要好得多。哲学上会说:"默认情况下使事情安全"(这是什么意思?)或"当你处于糟糕的状态时中止"(你怎么知道你处于"糟糕的状态") "状态?

形式验证减少了软件开发的艺术性,编程不再是一种手工艺,不再是手工作坊了。

https://www.jdon.com/69361.html

相关推荐
paopaokaka_luck5 小时前
宠物门店经营管理系统(销售与库存联动、进货自动记账、 退换与退款关联、员工个人业绩、ECharts 经营分析、滞销识别与客户分层、宠物档案年龄计算)
前端·javascript·spring boot·mysql·echarts·mybatis·1024程序员节
鶴哥只手遮天9 小时前
jQuery 4.0 源码架构与工程实践-第 10 章 尺寸、几何与显隐
前端·javascript·jquery
米米商聊11 小时前
图标能点,按钮就可用了吗?键盘、名称与收藏状态
前端·javascript
技术小甜甜12 小时前
【Cursor】Skill 被标黄色警告,怎么改成合格的 SKILL.md
开发语言·javascript·ai编程·cursor·1024程序员节·ai agent·skills
qetfw14 小时前
Bash 函数与流程控制:read、if、for、case 验证
linux·前端·javascript·bash
鬼手点金14 小时前
从 API 消息到模型 Token:Chat Template
java·前端·javascript·数据库·人工智能·深度学习·1024程序员节
Mr.Pascal16 小时前
Javascript之什么是作用域?
javascript·1024程序员节
microrain16 小时前
设备报文怎么变,SagooIoT 只约定三个函数名
javascript·物联网·golang·sagooiot
Bug收容所17 小时前
Vue+JS Day3
前端·javascript·vue.js·前端框架·1024程序员节
小羊没烦恼!18 小时前
.NET无侵入自动化探针原理和主流实现
运维·开发语言·javascript·python·自动化·.net·1024程序员节