это можно сделать разными способами.
nth1 (N, List, X) - это предикат, который имеет значение true, если N-й элемент списка равен X.
Реализация, использующая nth1, довольно хороша.легко;попытайтесь решить его до того, как увидите мой код.
left(X,Y,L):-
nth1(NX,L,X),
nth1(NY,L,Y),
NX<NY.
Другие способы решить это с помощью добавления / 3:
left(X,Y,L):-
append(_,[X|T],L),
member(Y,L).
или простой рекурсии:
left(X,Y,[X|T]):-
member(Y,T).
left(X,Y,[H|T]):-
H=\=X,
left(X,Y,T).