以下Prolog程序有什么作用?

时间:2016-08-02 20:15:59

标签: prolog

这个Prolog程序有什么作用?我认为它比较了两个变量?当我向我阅读此规则时,它表示如果mm2

相关,则xy有关系
m(X, Y) :-
   m2(X, Y, [ ] ).

m2([ ], X, X).
m2([X|Y], [X, X|Z], W) :-
   m2(Y, Z, W).

1 个答案:

答案 0 :(得分:0)

让我们尝试最常见的查询:

?- m(X,Y).
X = Y, Y = [] ;
X = [_G3566],
Y = [_G3566, _G3566] ;
X = [_G3566, _G3575],
Y = [_G3566, _G3566, _G3575, _G3575] ;
X = [_G3566, _G3575, _G3584],
Y = [_G3566, _G3566, _G3575, _G3575, _G3584, _G3584] ;
...

所以,Ys似乎只是Xs序列,每个元素加倍......