Questions tagged «automated-theorem-proving»

自动定理证明是计算机程序对数学定理的证明。

2
如果P = NP,我们可以获得哥德巴赫猜想等的证明吗?
根据我的专业知识,这是一个幼稚的问题;提前道歉。 哥德巴赫猜想和数学中许多其他未解决的问题可以写为谓词演算中的短公式。例如,库克的论文“计算机能否正常发现数学证明?” 将该猜想表述为 ∀n[(n>2∧2|n)⊃∃r∃s(P(r)∧P(s)∧n=r+s)]∀n[(n>2∧2|n)⊃∃r∃s(P(r)∧P(s)∧n=r+s)]\forall n [( n > 2 \wedge 2 | n) \supset \exists r \exists s (P(r) \wedge P(s) \wedge n = r + s) ] 如果我们将注意力集中在多项式证明上,则带有此类证明的定理在NP中。因此,如果P = NP,我们可以确定例如戈德巴赫猜想在多项式时间内是否为真。 我的问题是:我们还能在多项式时间内展示证明吗? 编辑。根据Peter Shor和Kaveh的评论,我应该证明我的主张是:如果哥德巴赫的猜想确实是带有简短证明的定理之一,我们可以确定它是否成立。我们当然不知道哪一个!

1
是否有适用于TCS定理的合理的自动证明系统?
假设我想形式化图灵关于暂停问题的证明,以便机器可以对其进行检查。一些著名的自动定理证明系统包括Mizar,Coq和HOL4。我下载了Coq并进行了实验,但是它没有用于Turing机器的库。我本来想自己编写代码,但发现该教程缺乏,而且语言难以掌握。 我的问题是:是否有一个自动定理证明者,通常能很好地证明涉及图灵机的定理?如果可以使用已经存在的库来形式化证明停止问题的不确定性的证明,那么我将认为这样的一个定理证明者“很好”。如果相对容易拿起它,我会认为更好。(据记录,我通常不会遇到编程语言方面的困难。) 谢谢, 菲利浦


2
为什么计算机很难证明某些东西?
这可能被认为是一个愚蠢的问题。我不是计算机科学专业(或者我也不是数学专业),所以如果您认为以下问题显示了一些主要错误假设,请原谅。 尽管有计划将费马的“最后定理”形式化(请参阅本演示文稿),但我从未读过或听说过计算机甚至可以证明像毕达哥拉斯的“简单”定理。 为什么不?在仅借助一些“内置公理”的情况下,通过计算机建立完全自主的证明的主要困难是什么? 我想问的第二个问题是:为什么我们能够形式化许多证明,而计算机目前无法独自证明一个定理?为什么那“更难”?

1
如何确定证据是否需要“高阶推理技术”?
问题: 假设我有一个由公理和目标组成的问题的规范(即,相关的证明问题是给定所有公理,目标是否可满足)。我们还假设该问题在公理之间不包含任何矛盾/矛盾。有没有一种方法可以预先确定(即不先构建完整的证据)证明该问题将需要“高阶推理”? 所谓“高阶推理”,是指应用证明步骤,这些步骤要求将高阶逻辑记下来。“高阶推理”的一个典型示例是归纳法:原则上写下归纳方案需要使用高阶逻辑。 例: 一个人可以指定证明问题“两个自然数的加法是否可交换?” 使用一阶逻辑(即通过构造函数0 / succ与标准公理以及递归定义“加”函数的公理一起定义自然数)。要证明此问题,需要对“ plus”的第一个或第二个自变量的结构进行归纳(取决于“ plus”的确切定义)。在尝试证明它之前,例如通过分析输入问题的性质...,我是否已经知道这一点?(当然,这只是出于说明目的的一个简单示例-实际上,对于比“ +”的可交换性更困难的证明问题,这将是有趣的。) 更多背景信息: 在我的研究中,我经常尝试使用自动一阶定理证明者(例如Vampire,eprover等)来解决证明问题(或部分证明问题),其中有些可能需要更高阶的推理。通常,证明者需要相当多的时间才能提出证明(前提是存在仅需要一阶推理技术的证明)。当然,尝试将一阶定理证明者应用于需要高阶推理的问题通常会导致超时。 因此,我一直想知道是否有任何方法/技术可以提前告诉我,证明问题是否需要更高阶的推理技术(意思是“不要浪费时间试图将它交给一阶定理证明者”) )或不,至少可能是针对特定的输入问题。 我在文献中寻找问题的答案,并向定理领域的一些研究人员询问了有关这一问题的信息,但到目前为止,我还没有收到任何好的答案。我的期望是,有人尝试将交互式定理证明与自动定理证明结合在一起(Coq社区? 我想通常来说,我在这里概述的问题是不确定的(是吗?)。但是也许对问题的精炼版本有很好的答案...?

1
谓语元理论中祈使系统的逻辑关系。
像系统F这样的命令性语言的逻辑关系似乎严重依赖于环境逻辑的命令性。具体来说,将根据所有类型的关系来定义forall类型的解释。在强制性系统(如CiC / Coq)中很好,但在谓词系统(如Agda)中似乎是不可能的。 如何才能做到这一点?例如,您将如何证明Agda中系统F的规范化?您是否必须建立自己的命令性宇宙?

6
标记过渡系统的实际可计算属性是什么?
我发现标记的过渡系统对于我的应用程序来说是一个很好的模型,即有一篇关于使用LTS对用例进行建模的文章。问题是,关于LTS可以轻易证明什么?我想重用现有的解决方案,看看它们是否对我的应用有用。我想知道LTS(和用例)的哪些属性可以轻松地自动证明,因此我可以决定是否存在与用例问题相对应的实用方法。

2
Monadic类的最新技术?
Monadic一阶逻辑,也称为决策问题的Monadic类,所有谓词都采用一个自变量。它被Ackermann确定,并且是NEXPTIME完整的。 但是,尽管有理论上的限制,但诸如SAT和SMT之类的问题仍可以通过快速算法来解决。 我想知道,是否有类似于SAT / SMT的研究用于单阶一阶逻辑?在这种情况下,“最先进的技术”是什么?尽管在最坏的情况下达到了理论极限,但在实践中是否存在有效的算法?

2
自动定理证明的哪种范式适合数学原理式形式化?
我拥有一本书,该书的灵感来自罗素(Russell)的数学原理(Principia Mathematica)和逻辑实证主义,试图通过确定公理并从中推导定理来形式化特定领域。简而言之,它试图为自己的领域做PM试图为数学做的事情。像PM一样,它是在自动定理证明(ATP)成为可能之前编写的。 我试图在现代ATP系统中表示这些公理,并试图推导定理,这些定理最初是作者(手动)推导的。我以前没有使用过ATP系统,并且有很多选择(HOL,Coq,Isabelle等),每种选择都有其长处,短处和预期的应用,因此很难确定哪种选项适合我的特定需求目的。 作者的形式主义与PM非常相似。存在类(集合?),类的类,等等,直到6个层次的层次。有一阶逻辑,可能还有更高阶的逻辑。考虑到与PM的联系,我最初研究了Metamath,因为其他人已经在MetaMath中证明了PM的几个定理。但是,Metamath当然是证明者,而不是ATP系统。 通过对各种ATP系统的描述,我看到了几个特征,例如Church类型理论的实现,构造类型理论,直觉类型理论,类型/非类型集理论,自然推论,λ演算类型,多态性,递归函数理论以及平等存在与否。简而言之,每个系统似乎实现了非常不同的语言,并且必须适合于形式化不同的事物。我认为现有的用于形式化数学的库与我的目的无关。 对于我在选择ATP时应寻求的特性方面的任何建议,或在阅读此问题后可能有的其他建议,将不胜感激。作为参考,这是本书的示例页面。不幸的是,像PM一样,它采用Peano-Russell表示法。 这本书- “生物学中的公理方法”(1937年),JH Woodger,A。Tarski,WF Floyd 公理始于唯物论。例如, xxxαα\alphaαα\alphaxxxyyyxxxzzzαα\alphayyy S=Dfx^α^{α⊂P‘→x:.(y):yPx.⊃.(∃z).z∈α.P‘→y∩P‘→z≠Λ}S=Dfx^α^{α⊂P‘→x:.(y):yPx.⊃.(∃z).z∈α.P‘→y∩P‘→z≠Λ}S{ = }_{ Df }\hat { x } \hat { \alpha } \{ \alpha \subset \vec { { P }^{ ‘ } } x:.(y):yPx.\supset .(\exists z).z\in \alpha .\vec { { P }^{ ‘ } } y\cap \vec { …

3
计算机发现的证据
1996年,计算机解决了一个长期存在的开放性问题。即罗宾代数和布尔代数相同。该证明是由自动定理证明者发现的。 此外,四色定理的已知证明包含计算机生成的成分。 这个问题的目的是到被(完全或部分)由计算机发现列表样张(是否唯一已知的证据或发现一个用于第一时间)。


1
为什么在举证代码中需要举证检查器
在Necula的经典PLDI'98论文“认证编译器的设计和实现”中,高级验证程序使用: VCGen生成验证条件(安全谓词) 一阶逻辑定理证明者证明条件 LF打样检查器检查步骤(2)中的打样 我对步骤(3)感到有些困惑。为什么根本需要它?仅(1)和(2)是否足够?我们为什么不仅仅相信定理证明者生成的证明呢?

1
没有有限模型的一阶可满足性
从丘奇定理我们知道确定一阶可满足性通常是不确定的,但是可以使用多种技术来确定一阶可满足性。最明显的是搜索有限模型。但是,一阶逻辑中有许多语句可以证明没有有限模型。例如,单射和非单射函数在其中运行的任何域都是无限的。 在没有有限模型或未知有限模型的情况下,我们如何证明一阶语句的可满足性?在自动定理证明中,我们可以通过几种方式确定可满足性: 我们可以否定句子,并寻找矛盾。如果找到一个,我们证明该语句的一阶有效性,从而证明其可满足性。 我们将饱和度与分辨率结合使用,并且没有推断。通常,我们会有无数的推断,因此这是不可靠的。 我们可以使用强迫,它假设模型的存在以及理论的一致性。 我不知道有人将强迫作为一种自动定理证明的机械化技术来实现,而且看起来并不容易,但是我对它是否已经完成或尝试过很感兴趣,因为它被用来证明许多陈述的独立性在集合论中,它本身没有有限的模型。 是否存在其他可用于自动推理的搜索一阶可满足性的已知技术,或者有人在研究自动强制算法?

1
Martin-Löf类型理论会提高编写可证明正确代码的能力吗?
这篇文章引用了Curry-Howard同构和Martin-Löf类型理论。 该帖子声称在数学的描述语言和计算机编程的基于操作的语言之间存在未来的“统一”。 我的问题是: 这些想法会提高(通过语言)编写可证明正确代码的能力吗? 在理论层面上是否已经发现了MLTT的全部含义? 这篇文章是否描述了在COQ或Agda中无法完成的任何事情?
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.