Для этого есть встроенный предикат between/3
в B, Ciao, SICStus (библиотека), SWI, YAP, XSB (библиотека).
?- between(0,100,X).
X = 0 ;
X = 1 ;
...
X = 100.
Если вы начинаете изучать пролог, лучше сначала попытайтесь использовать числа s(X)
, которые гораздо легче понять и обдумать. Тот же пример, но только до 3:
?- nat_nat_sum(N,_,s(s(s(0)))).
с определением:
nat_nat_sum(0,I,I).
nat_nat_sum(s(I),J,s(K)) :-
nat_nat_sum(I,J,K).