Мой текущий предикат eo
удалит все остальные элементы в списке, начиная с первого элемента.
eo([],[]).
eo([_],[]).
eo([_,X|L],[X|R]) :- eo(L,R)].
, который дает результаты, такие как
?- eo([a,b,c,d,e,f],L).
L = [b,d,f]
и
?- eo([a,b,c,d,e,f,g],L).
L = [b,d,f]
Но сейчас я хочу создать «глубокую» версию. Эта версия также повлияет на списки. Итак, следующее должно иметь место:
?- eo([a,b,c,d,e,[x,y,z],L).
L=[b,d,[y]]
Не уверен, что делать.