forall/2
Description
forall(Generator, Test)
For all solutions of Generator, Test is true. This meta-predicate
implements a generate-and-test loop using a definition equivalent to
\+ (Generator, \+ Test).
This built-in meta-predicate is declared as a private method and thus cannot be used as a message to an object.
Modes and number of proofs
forall(@callable, @callable) - zero_or_one
Errors
Either
Generator or Test is a variable:instantiation_errorGenerator is neither a variable nor a callable term:type_error(callable, Generator)Test is neither a variable nor a callable term:type_error(callable, Test)Examples
To call both goals in the context of the object or category containing the call:
forall(Generator, Test)To send both goals as messages to self:
forall(::Generator, ::Test)To send both goals as messages to explicit objects:
forall(Object1::Generator, Object2::Test)