Я сделал предикат Prolog posAt(List1,P,List2)
, который проверяет, являются ли элементы в позиции P
из List1
и List2
равными:
posAt([X|Z], 1, [Y|W]) :-
X = Y.
posAt([Z|X], K, [W|Y]) :-
K > 1,
Kr is K - 1,
posAt(X, Kr, Y).
При тестировании:
?- posAt([1,2,3], X, [a,2,b]).
Я ожидал вывод X = 2
, но вместо этого получил следующую ошибку:
ERROR: >/2: Arguments are not sufficiently instantiated
Почему я получаю эту ошибку?