У меня есть список с именем X, и я пытаюсь перебрать список, у меня есть отдельный список Y, где элементами Y являются (U, V), где U - X + 1, а V - X-1. Я пытался добавить U и V к Y безуспешно. ТАК это должно работать так, чтобы, если X равен [4,5,6], Y будет [(3,5), (4,6), (5,7)]
/**
list_looping([], _).
list_looping([H|T],A) :-
x is H-1,
x is H+1,
append([(x,y),T],A).
pairs([],[]).
pairs([H|T],[(U,V),L]):-
list_looping([H|T],[(U,V),L]).
*/
pairs(X,Y) :-
forall(member(X,[1,2,3]),((U is X+1,V is X-1),writeln((U,V)))).
Я пытался две разные реализации, в первой я пытаюсь рекурсивно искать по списку, но без особого успеха. Во втором я пытаюсь использовать встроенную функцию Пролога, это, очевидно, тоже не работает.