为什么有些推理引擎需要人工协助,而另一些则不需要?


Answers:


14

通常,高阶公式的有效性尚不确定,搜索空间很大,因此,您所希望做的就是尝试通过巧妙地枚举证明空间来找到证明(假设存在)(想想大锤,恰当地命名)但这很粗糙。人类可以扮演神谕,提供关键引理来指导证明。

另一方面,自动化证明通常仅处理可判定的逻辑(子集),例如命题逻辑或一阶逻辑的子类,因此它们可能运行很长时间,但您知道它们最终会成功。

注意,有一些方法可以使证明助手找到那些重要的引理,例如IsaPlanner。该工具通过枚举和随机测试猜测(归纳)引理,然后尝试对其进行证明。通过重复该过程,可以自动找到许多引言,例如典型的数据类型定义。


小型ABC

  • 有效性 -公式有效,它可以保存您分配给自​​由变量的任何内容。
  • 可判定性 -如果存在在有限的时间后(正确)回答“是”或“否”的算法,则(布尔)属性是(图灵)可判定。
  • 命题逻辑 -也是零级逻辑 ; 不允许量化。
  • XPX 但不是 FF4>0
  • 高阶逻辑 -您可以量化(和“构建”)任意复杂的对象,例如高阶函数(带有函数的函数)。

@GuyCoder:我不确定那是否可行。在没有先验知识的情况下,我们不能写出每个答案都容易消化的答案。ATP 高级的东西;我不建议任何没有扎实的逻辑背景的人学习它们。以您似乎希望他们的方式写答案只会造成一种理解上的错觉,但并不能真正起到帮助,恕我直言。因此,对您的系列感兴趣的每个人都应该首先做一些逻辑,在其他问题上,我们也可以提供帮助。
拉斐尔

7

我要说的是,“自动定理证明”(ATP)与“交互式定理证明”(ITP)的经典区别需要重新考虑。如果您今天使用Isabelle / HOL之类的著名ITP系统(2013年2月为Isabelle2013),它将集成ATP产品组合中的许多附加工具:

  • 机载通用自动证明工具:老式的Isabelle工具(例如,fast和)blast(由L. Paulson提供)和较新的自动化证明metis(例如,由J. Hurd提供)。

  • 通过大锤调用的用于一阶逻辑的外部ATP:证明者,SPASS,吸血鬼。对找到的证据进行分析,以找出导致该问题的引理,将10000s减少到10s,并将结果馈给metis

  • 具有部分证明重建的外部SMT,尤其是Z3(S。Boehme)。

  • 查找未经证实的陈述的反例的工具:Nitpick / Kodkodi(J. Blanchette)和Quickcheck(L. Bulwahn)。

所有这些自动化的东西会使Isabelle成为自动化的定理证明者吗?

最终,我认为“ ATP”与“ ITP”的区别只是某种“标签”,它告诉您如何定位或“出售”系统:ATP声称是“按钮式工具”,但在实践中,您将不得不通过提供参数或提示或重新制定问题来进行(间接)交互。由于ATP社区中普遍存在的较长运行时间,因此这实际上可能是一个挑战。

相比之下,ITP系统是为当场等待人员提供的,他们可以像样地访问内部证明状态,以查看完成证明所缺少的内容。以Isabelle的方式包装ATP工具的ITP系统可能比单独使用ITP或ATP对更多的用户和更多的应用更具吸引力。


已经有一段时间了,但是如果我没记错的话,那fast也不blast是事实。他们基本上是使用可能找到证明的某些规则的试探法。(当然,它们仅在公式的较小子集上证明,对任何证明枚举方法都是正确的。)
拉斐尔

2
当您说“证明人”时,您实际上是针对某种固定语言的“决策程序”吗?大多数ATP“证明人”都是半决定性程序,即您表征fast和使用的方式blast。请注意,这blast是由L. Paulson在某些CADE研讨会上作为“通用Tableau证明及其与Isabelle的集成”提出的-该论文后来发表在J. UCS 1999中。还有一些特殊语言(算术子集)的决策程序。
Makarius
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.