built-in method

(\+)/1

Description

\+ Goal

Not-provable meta-predicate. True iff call(Goal) is false. This built-in meta-predicate is declared as a private method and thus cannot be used as a message to an object.

Warning

The argument is always compiled. As a consequence, when the argument is a control construct (e.g. a conjunction), any meta-variables will be wrapped with the equivalent to the call/1 control construct. Note that these semantics differ from the ISO Prolog Core standard specification for the (\+)/1 built-in predicate.

Meta-predicate template

\+ 0

Modes and number of proofs

\+ +callable - zero_or_one

Errors

Goal is a variable:
instantiation_error
Goal is neither a variable nor a callable term:
type_error(callable, Goal)

Examples

Not-provable goal in the context of the object or category containing the call:
\+ Goal
Not-provable goal sent as a message to self:
\+ ::Goal
Not-provable goal sent as a message to an explicit object:
\+ Object::Goal

See also

call/1-N, ignore/1, once/1