关于Prologish Boolos好奇推理的计算机推理

时间:2016-10-06 12:42:39

标签: prolog successor-arithmetics

Boolo的奇怪推理最初是用等式 here 制定的。它是函数f和谓词d的递归定义,通过N +的语法,自然数不带零,从1和s(。)生成。

但它也可以用Horn Clauses制定。逻辑内容不完全相同,谓词f只捕获函数的正面,但问题类型是相同的。采取以下Prolog计划:

f(_, 1, s(1)).
f(1, s(X), s(s(Y))) :- f(1, X, Y).
f(s(X), s(Y), T) :- f(s(X), Y, Z), f(X, Z, T).

d(1).
d(s(X)) :- d(X).

上一次查询的理论逻辑结果是什么,你能否证明我们的时间和空间中有一个计算机程序可以产生结果,即在gist上发布程序并且每个人都可以运行它?

?- f(X,X,Y).
X = 1,
Y = s(1) 
X = s(1),
Y = s(s(s(1))) 
X = s(s(1)),
Y = s(s(s(s(s(s(s(s(s(s(...)))))))))) 
ERROR: Out of global stack

?- f(s(s(s(s(1)))), s(s(s(s(1)))), X), d(X).

如果执行认证结果工作的程序不是像 here 那样的Prolog解释器,那么这项工作特别适用于这个Prologish问题公式的工作是什么?

0 个答案:

没有答案