Бесконечный метод заполнения, бесконечный цикл, который возвращает ответ, но не завершается

Так что я работаю над каким-то прологом и столкнулся с проблемой, которую не понимаю, почему появляется. Эта проблема на самом деле возникает в некоторых моих методах, но, надеюсь, я смогу разобраться с этим, руководствуясь лишь некоторыми рекомендациями.

fill(3,a,L) -> L = [a,a,a]

вот мой код

fill(0,x,[]).
fill(N,A,[A | As]) :-
  N1 is N-1,
  fill(N1,A,As).

Ответы на вопрос(1)

Ваш ответ на вопрос