如何在miniKanren中实现完全声明性的mtak

时间:2019-04-15 13:09:32

标签: minikanren

我想在miniKaren中运行一个完全声明性的mtak,在Prolog中的内容如下:

fun(X, Y, Z, A) :-
   X =< Y, !,
   Z = A.
fun(X, Y, Z, A) :-
   X1 is X-1,
   fun(X1, Y, Z, A1),
   Y1 is Y-1,
   fun(Y1, Z, X, A2),
   Z1 is Z-1,
   fun(Z1, X, Y, A3),
   fun(A1, A2, A3, A).

但以上内容有所削减。该解决方案不应使用任何剪切方式,并且该解决方案应具有逻辑变量和一些数字库,以便可以向后运行。

0 个答案:

没有答案