使用附加成员谓词

时间:2017-10-21 00:10:04

标签: list prolog append

我想知道如何在成员谓词中实现追加。

我有成员

member2(X, [X|T]).
member2(X, [H|T]) :-  member2(X,T).

我怎样才能实现追加。

谢谢!

1 个答案:

答案 0 :(得分:2)

这是append/3谓词的实现:

append([],X,X).
append([H|T],X,[H|S]) :- append(T,X,S).

您可以使用member/2定义append/3谓词,如下所示

member(X,L) :- append(_,[X|_],L).

其中append(_,[X|_],L)拆分所有可能表单的列表L(通过重新评估),成员X与第二个列表[X|_]的头部统一。