Logic 自动定理证明程序-从哪里开始?

Logic 自动定理证明程序-从哪里开始?,logic,theorem-proving,Logic,Theorem Proving,我是一名二年级学生,我的离散数学2作业是制作一个自动定理证明器。我必须做一个简单的证明程序,在4周内对命题逻辑有效(假设证明总是存在的)。到目前为止,我已经在谷歌上搜索过了,但是那里的材料在4周内真的很难理解。有人能给我推荐一些适合初学者的书/网站/开源代码,或者一些有用的提示吗?提前谢谢。注意:我将此标记移到计算机科学网站,因为它们比那边的ATP更重要 如果你能把你所看到的以及为什么它对你没有帮助都包括进去,那就太好了。然后我们可以找出对你更好的方法。此外,如果你必须编写一个程序,那么了解你所

我是一名二年级学生,我的离散数学2作业是制作一个自动定理证明器。我必须做一个简单的证明程序,在4周内对命题逻辑有效(假设证明总是存在的)。到目前为止,我已经在谷歌上搜索过了,但是那里的材料在4周内真的很难理解。有人能给我推荐一些适合初学者的书/网站/开源代码,或者一些有用的提示吗?提前谢谢。

注意:我将此标记移到计算机科学网站,因为它们比那边的ATP更重要

如果你能把你所看到的以及为什么它对你没有帮助都包括进去,那就太好了。然后我们可以找出对你更好的方法。此外,如果你必须编写一个程序,那么了解你所懂的语言会有所帮助。我所做的大部分工作都是用函数式语言(如OCaml或F#)或逻辑语言(如Prolog或Mercury)完成的

你看过约翰·哈里森的“”吗。我加入了这个链接,这样你就可以在当地图书馆找到这本书,而不是等着去买,那样会占用你大部分时间

如果你看一下,你会在页面底部找到代码,还有F#和Haskell


如果你还没有看到维基百科的OR,你可能会得到一些代码和文件。

谢谢你的开源链接,但是我不知道F和Haskell和OcAML,所以我想我会坚持C++。不管怎样,我在家里找到了一个有趣的家伙。“我想我要和他玩一会儿。”明那是一篇好文章。保尔森是这一领域中最优秀的人之一。您知道示例代码是用ML编写的,它是一种功能语言,是OCaml和F#的前身?如果你能掌握Paulson的“面向工作程序员的ML”,它应该能帮助你更好地理解代码。有什么特别的原因让这些证明程序主要用函数式语言编写,而不是用流行的语言,如c、java、c#。。。?如果ML是OCaml和F#的前身,那么我想我现在需要学习F#。我不知道定理证明者的历史,因为我知道的关于证明助手。简言之,ML是为LCF创建的,LCF是最早使用定理的程序之一,是Caml、OCaml、F#和其他语言的父语言。由于函数式语言可以在没有副作用的情况下编写,因此易于证明。由于命令式语言的副作用,证明代码要困难得多。