not
Entity: predicate

fail_if
Entity: predicate


Usage:
not(X)
fail_if(X1, ... Xn)

Prolog negation: Fails if X succeeds. The difference between not and fail_if is that not need an atomic goal as an argument but in fail_if you can put any goal.

If not succeed then this does not mean that the goal is false but only that it does not follow from the rules and the facts which are in the program.

Actually, not is defined on Prolog and here is its definition:

not(X) :- X, !, fail.
not(X).

See also

standard control predicates