这个Prolog程序有什么作用?我认为它比较了两个变量?当我向我阅读此规则时,它表示如果m
与m2
x
与y
有关系
m(X, Y) :-
m2(X, Y, [ ] ).
m2([ ], X, X).
m2([X|Y], [X, X|Z], W) :-
m2(Y, Z, W).
答案 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序列,每个元素加倍......