Napisałem sobie program:
zmiana([],L).
zmiana([1|T],[2|L]):-
zmiana(T,L).
zmiana([2|T],[3|L]):-
zmiana(T,L).
Działa niby dobrze, zamienia mi tak jak chciałem 1 na 2 i 2 na 3, ale wynik zapytania np.
?- zmiana([1,1,1],X).
X = [2, 2, 2|_2668] .
Zmieniło poprawnie, tylko skąd ta ostatnia liczba? (Wiem że sobie prolog to dopisuje) Tylko dlaczego dopisał i jak zrobić żeby nie dopisał?