not/1
Module: builtins
not/1
— tests whether a goal fails
\+/1
— tests whether a goal fails
FORMS
not Goal
not(Goal)
\+ Goal
\+(Goal)
DESCRIPTION
not/1
and \+/1
implement negation by failure. If the Goal
fails, then not(Goal)
succeeds. If Goal
succeeds, then not(Goal)
fails. When not/1
succeeds it doesn’t bind any variables. Cuts occurring within Goal will be restricted to cutting choices created within the execution of Goal
.
EXAMPLES
?- not(true).
no.
?- not(a=b).
yes.
?- not(not(f(A)=f(b))).
A=_2
yes.