Некоторые версии Prolog имеют предикат между / 3.Вы можете сказать
digit(X):-between(1,100,X).
Если между ними нет, вы можете сказать
digit(X):-member(X,[1,2,3,4,5 and so on]).
Если вы не хотите использовать member / 2, используйте рекурсию.
Изменить: вы также можете реализовать между / 3 следующим образом:
my_between(X,Y,Z):-X<Y,(Z=X;X2 is X+1,my_between(X2,Y,Z)).
Надежная и эффективная реализация между / 3 может быть более сложной, но для ваших целей этого должно быть достаточно.