succeeds if the goal fails and fails if the goal succeeds.
'\+'/1 makes negation by failure. That means it succeeds if Goal fails and fails if Goal succeeds.
Goal goal
| \+fail. | Succeeds. |
| \+integer(4.76) | Succeeds. |
| \+((X=either;X=or)),X=neither_nor | Fails. |
This predicate is part of the ISO-Prolog Standard.