Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
reversed([], []).
reversed([Head|Tail1], [Tail2|Head]) :- reversed(Tail1, Tail2).
?- [user].
|: seq(3).
|: seq(N) :- seq(X), N is X + 1.
|: % user://1 compiled 0.00 sec, 524 bytes
Yes
?- seq(X).
X = 3 ;
X = 4 ;
X = 5 ;
X = 6
Yes
predicates
next_natural(integer).
clauses
next_natural(A) :- write(A), nl, A1 = A + 1, next_natural(A1).
GOAL
next_natural(3).
Пример запроса плюс(0, 0, 0): ответ нет, при первой же попытке все резолюции не выполняются.
плюс(0, Число, Число).
Prolog — удивительный язык программирования