ref: 329c6975c44fcbe1cf7c9d93ab6164495f432213
dir: /stdlib.pl/
% Logic and control predicates \+ Goal :- call(Goal), !, fail. \+ Goal. once(Goal) :- call(Goal), !. repeat :- true ; repeat. % Control structures. true. If -> Then :- If, !, Then. If -> Then ; _ :- If, !, Then. _ -> _ ; Else :- !, Else. If ; _ :- If. _ ; Else :- Else. % Term unification A = A. A \= B :- \+ A = B. % Comparison of terms using the standard order A == B :- compare(=, A, B). A \== B :- \+ A == B. A @< B :- compare(<, A, B). A @=< B :- A == B. A @=< B :- A @< B. A @> B :- compare(>, A, B). A @>= B :- A == B. A @>= B :- A @> B. % List predicates length([], 0). length([_|Tail], Length) :- length(Tail, Length0), Length is Length0 + 1. member(X, [X|_]). member(X, [_|Tail]) :- member(X, Tail).