证明助手在复杂性理论研究中的用途?


14

考虑到像STOC这样的会议所涵盖的主题,是否有任何算法或复杂性研究人员积极使用COQ或Isabelle?如果是这样,他们如何在研究中使用它?我认为大多数人不会使用此类工具,因为证明水平太低。是否有人以对他们的研究至关重要的方式使用这些证明助手,而不是一个很好的补充?

我很感兴趣,因为我可能会开始学习其中一种工具,并且在减少,正确或运行时间证明的背景下学习它们会很有趣。


1
您是否要排除“理论B”,尤其是编程语言理论?我的理解是,证明助理在PL中的使用频率更高...
Joshua Grochow

1
我查询了这个词,我想我专注于“理论A”中的应用
nish2575

1
据我所知,理论A的大部分与大多数其他数学属于同一类:到目前为止,这些系统都没有添加任何基础,因此,最有趣的定理将首先投入大量精力来开发基础架构来实施必要的定义。自动机理论中有一些有趣的形式已经被形式化,因此这可能是一个值得关注的地方。
安德拉斯·萨拉蒙

1
在较弱的系统中,复杂性理论的结果往往可以证明,您通常甚至不需要PA。我会说,Coq和Isabeller不太适合复杂性理论。几乎有像Cook和Nguyen的书中那样的正式证明草图,但是主要的兴趣是在与复杂度类相关的证明系统中证明它们。当可以在弱得多的系统中被证明时,为什么要用Coq中的Switching Lemma来证明它们呢?
卡夫

2
@Kaveh在那里,各种证明系统的弱点/优势都不是问题:出于与我们要验证程序相同的原因,我们想正式验证复杂性理论中的证明:具有更高的可靠性。此外,扩展证明者理论以使他们可以更方便地处理复杂性理论证明也是一个有趣的挑战。
Martin Berger

Answers:


15

一般的经验法则是,您想要机械化的数学越抽象/奇特,它就越容易获得。相反,数学越具体/越熟悉,难度就越大。因此,(例如)无谓谓语谓词这样的稀有动物比普通度量拓扑更容易机械化。

最初看起来似乎有些令人惊讶,但这主要是因为诸如实数之类的具体对象参与了各种代数结构,并且涉及它们的证明可以从它们的任何角度利用任何特性。因此,要想使数学家习惯于普通的推理,就必须使所有这些事情机械化。相比之下,高度抽象的构造具有(故意)小的且受限制的属性集,因此在获得精湛的技巧之前,您必须进行更少的机械化。

复杂性理论和算法/数据结构的证明(通常)倾向于使用简单小工具的复杂属性,例如数字,树或列表。例如,组合论,概率论和数论论证经常在复杂性理论的定理中同时出现。要获得证明助手库的支持,这是一件好事,这是很多工作!

人们愿意投入工作的一种环境是密码算法。由于复杂的数学原因,存在非常微妙的算法约束,并且由于密码在对抗性环境中运行,因此即使是最轻微的错误也可能是灾难性的。因此,例如,Certicrypt项目 已建立了许多验证基础结构,目的是构建机器检查的密码算法正确性的证明。


6

一个非常突出的例子当然是Gonthiers Coq在Coq中对4色定理的形式化,它使用了很多组合运算。

我的同事UliSchöpp为此目的使用了Gonthier开发的ssreflect库,以验证(并稍微扩展)Coq和Cook和Rackoff在图自动机上的结果。https://scholar.google.at/scholar?oi=bibs&cluster=4944920843669159892&btnI=1&hl=de(Schöpp,U.(2008)。无向图可及性的形式化下限。在编程逻辑,人工智能和推理中, 621-635页),柏林施普林格/海德堡)。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.