Questions tagged «automated-theorem-proving»

机器检查,机器生成或机器验证的证明

6
学习自动定理证明
我正在独自学习自动定理证明 / SMT求解器 / 证明助手,并从此处开始发布有关该过程的一系列问题。 请注意,如果没有(数学)逻辑的背景知识,就很难轻易消化这些主题。如果您对基本术语有疑问,请继续阅读,例如M. Huth和M. Ryan 撰写的《计算机科学中的逻辑》(特别是第一,第二和第四章),或者P撰写的《数学逻辑与类型理论导论》。安德鲁斯。 有关高阶逻辑(HOL)的简短介绍,请参见此处。 我看着考克(Coq),并阅读了伊莎贝尔(Isabelle)简介的第一章;自动定理证明的类型 我认识Prolog已有几十年了,现在正在学习F#,因此ML,O'Caml和LISP很有用。Haskell是另一种野兽。 我有以下书籍 艾伦·罗宾逊和安德烈·冯科夫编辑的《自动推理手册》 约翰·哈里森(John Harrison)的“实用逻辑和自动推理手册” Franz Baader和Tobias Nipkow撰写的“术语重写和所有内容” Coq和Isabelle有什么区别? 我应该学习Isabelle还是Coq,或者两者都学习? 首先学习Isabelle或Coq有优势吗? 在此处找到系列的下一个问题。

1
自动定理证明的类型
我正在独自学习自动定理证明 / SMT求解器 / 证明助手,并从此处开始发布有关该过程的一系列问题。 哪些相关的自动定理证明是正确的?我找到了定理证明的评论 这仍然是最新的吗? 哪些仍然非常活跃,即,哪些人目前正在创建它的小组之外使用? 在此处找到系列的下一个问题。



1
自动定理证明可以解决什么样的数学问题?
我可以使用可用的自动定理证明者来证明以下陈述吗? (a+b)2=a2+b2+2ab(a+b)2=a2+b2+2ab(a+b)^2=a^2+b^2+2ab。 如果11∣2a−3b11∣2a−3b 11 \mid 2a-3b,则11∣7a−5b11∣7a−5b 11 \mid 7a-5b 。 如果ax2+bx+c=0ax2+bx+c=0 ax^2+bx+c=0,则x=−b±b2−4ac√2ax=−b±b2−4ac2ax=\frac{-b\pm\sqrt{b^2-4ac} }{2a}。 如果aaa为偶数,则4a4a4a为偶数。 等等! 我问这个问题是因为我刚刚发现自动定理证明者在证明逻辑定理中的应用。

1
用于假人的Monadic二阶逻辑
我是一个对自动机有所了解的程序员,但对逻辑并不了解。 我在论文中读到,两者之间有着密切的联系。确定性有限自动机(DFA),树自动机和可见下推自动机都与Monadic二阶逻辑(MSO)相关。尽管我了解自动机,人们(在论文中)试图向我解释与MSO的关系,但他们始终假设自己具有强大的逻辑背景和对MSO的理解。 当我阅读有关逻辑的书籍和课程时,它们大多只处理一阶逻辑,这看起来很简单,并且仅包含以下几个概念:变量,或者(并非暗示)全部存在,等等。 有人可以向我解释或指向可以解释以下内容的资源: 与一阶逻辑相比,二阶逻辑是什么? 什么是单子逻辑与非单子逻辑? 可判定二阶逻辑为什么单调很重要,或者为什么这是错误的问题? 为什么一元二阶逻辑是可确定的? 与至少DFA的关系? 如果它是一种资源,并且假设我是程序员而不是逻辑学家,那将很好。这意味着我想了解如何将其实现为代码,因为在那之前数学对我来说就像是魔力;) 谢谢您能给我的任何帮助。我真的很感激。


1
不同子句的不同变量
在解析定理证明中,通常假设不同子句中的变量是不同的。这不是自动发生的事情。它需要大量额外的代码和计算才能实现。鉴于此,我正在寻找一个测试用例。 问题是,到目前为止,在我已经尝试过的所有测试用例中,它没有区别。大概只有在异常情况下才重要。正如Wikipedia所说,“不同子句中的变量是不同的...现在,将第一子句中的Q(X)与第二子句中的Q(Y)统一意味着X和Y始终成为相同的变量。” 如果不同的子句使用相同的变量,是否有任何已知的测试用例会给出错误的答案?

2
Coq中的定理证明
背景 我正在独自学习帮助,Coq。到目前为止,我已经匆匆完成了Yves Bertot的Coq阅读。现在,我的目标是证明与自然数有关的一些基本结果,并以所谓的除法算法结束。但是,在实现该目标的过程中,我遇到了一些挫折。特别是,以下两个结果已经证明(双关语意)比我最初想象的要困难得多。实际上,经过多次徒劳的尝试之后,我不得不手工证明它们(如下所示)。显然,这并不能帮助我更加精通Coq。这就是为什么我转向这个论坛。我希望这个网站上的某人能够并且愿意帮助我将下面的证明转换为Coq接受的证明。衷心感谢所有帮助! 定理A 对于所有证明:x,y∈Nx,y∈Nx,y \in N x&lt;S(y)⊂x&lt;y∨I(N,x,y)x&lt;S(y)⊂x&lt;y∨I(N,x,y)\begin{equation} x < S(y) \subset x < y \lor \text{I}(N,x,y) \end{equation} 假设。因此,存在一个与 因此,通过(皮亚诺1b和3)x&lt;S(y)x&lt;S(y)x < S(y)z∈Nz∈Nz \in NI(N,x+S(z),S(y))(*)(*)I(N,x+S(z),S(y))\begin{equation} \text{I}(N,x+S(z),S(y)) \tag{*}\end{equation}I(N,x+z,y)I(N,x+z,y)\begin{equation} \text{I}(N,x+z,y) \end{equation} 定义一个谓词Q(u):=(I(N,x+u,y)⊂x&lt;y∨I(N,x,y)Q(u):=(I(N,x+u,y)⊂x&lt;y∨I(N,x,y)\begin{equation} Q(u):=(\text{I}(N,x+u,y) \subset xy¬I(N,x,y)¬I(N,x,y)\neg \text{I}(N,x,y)x&gt;yx&gt;yx>y y&gt;xy&gt;xy>xI(N,x,y)I(N,x,y)\text{I}(N,x,y) 我们使固定并在归纳。当对于所有,我们都有,这证明了基本情况。接下来,假设定理对成立;现在我们要证明的定理。从对的三分法中可以看出三种情况:和。如果,则显然。如果,则(对于所有都是)。最后,假设X 我(Ñ ,0 ,ÿ )0 &lt; Ý ∨ 我(Ñ ,0 ,ÿ )ÿ X 小号(X )X X …
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.