我正在寻找一个自动定理证明系统,可以证明这一点:
鳄鱼把男人带走了。男人问鳄鱼不要吃他的孩子。但是Crocodile说:如果你告诉我,我会把你的孩子还给你,我会怎样对待他。
他的外观的分析解决方案:
x - 鳄鱼会吃小孩 y - 男人回答:鳄鱼会吃孩子〜意味着平等,!意思是, - >暗示,+ OR;
((x~y)->!x) and ((x XOR y)->x) =
(x! and y +!x and y+!x)(!x!y+x and y+x) =
(!x+!y)(x+!y) = !y;
所以,答案是男人不得不说:“你不会吃孩子”;
现在,这里列出了很多系统: http://en.wikipedia.org/wiki/Automated_theorem_proving
我已经尝试了其中的5-6个,但我真的不明白我在这做什么。如何在他们内部形式化这个定理,以便我可以进入它的第一部分:
((x~y)->!x) and ((x XOR y)->x)
并得到答案
y
作为输出。
任何一次建议,哪个系统至少能够自动完成,并给我一些提示?
此致 康斯坦丁。
答案 0 :(得分:1)
嗯,你的问题目标比平时要高很多,我不能完全理解你的任务......
我只是在Prolog中使用了'tableaux',并建议先试用simpler one,然后再深入研究something more sophisticated(但我甚至不知道这种逻辑是否适合你任务)。
答案 1 :(得分:1)
经过大量的研究,我发现有很多这样的程序,所以我的答案是:是的,这样的定理可以自动证明。在线示例:http://logik.phl.univie.ac.at/~chris/gateway/formular-uk-zentral.html
答案 2 :(得分:0)
Checkout prolog。对于逻辑命题和那种事情来说,它是伟大的。首先阅读wiki并查看它是否听起来像你想要的。它是一种逻辑编程语言 - 它将帮助您构建自己的定理证明算法。
维基: http://en.wikipedia.org/wiki/Prolog
教程: http://cs.union.edu/~striegnk/courses/esslli04prolog/index.php