+/0

+* 0:P is iso, meta Negation by failure.

Goal P is not provable. The execution of this predicate fails if and only if the goal P finitely succeeds. It is not a true logical negation, which is impossible in standard Prolog, but "negation-by-failure".

This predicate might be defined as:


 \+(P) :- P, !, fail.
 \+(_).

if P did not include "cuts".

If P includes cuts, the cuts are defined to be scoped by P: they cannot cut over the calling prredicate.


 go(P).

 :- \+ P, !, fail.
 \+(_).