Next: Family Example, Up: Programming Examples [Contents][Index]
The goal concatenate(L1,L2,L3)
is true if
list L3 consists of the elements of list L1
concatenated with the elements of list L2. The goal
member(X,L)
is true if X is one of the elements
of list L. The goal reverse(L1,L2)
is true if list L2 consists of the elements of list
L1 in reverse order.
concatenate([], L, L). concatenate([X|L1], L2, [X|L3]) :- concatenate(L1, L2, L3). member(X, [X|_]). member(X, [_|L]) :- member(X, L). reverse(L, L1) :- reverse_concatenate(L, [], L1). reverse_concatenate([], L, L). reverse_concatenate([X|L1], L2, L3) :- reverse_concatenate(L1, [X|L2], L3).