Здесь предлагается другое решение без использования встроенной функции:
all_less_five([]).
all_less_five([X|L]):-
X < 5,
all_less_five(L).
В этом решении используется типичная рекурсия по спискам. Предикат верен для пустого списка, и тогда мы вызываем рекурсию через хвост, только если голова меньше пяти.
Вот некоторые вопросы по предикату:
?- all_less_five([10,11,2]).
false.
?- all_less_five([2,3,6,5]).
false.
?- all_less_five([1,2,3,4]).
true.
Теперь должно быть легко реализовать его для любого данного X. Попробуйте!