forall/2 (not in ISO)

The call forall(Generate,Test) succeeds if, for every solution of Generate, the condition Test succeeds. This predicate is defined as follows:
       forall(Generate, Test) :- \+ (call(Generate), \+ call(Test)).
For example, forall(member(X,[1,2,3]),p(X)).



Neng-Fa Zhou 2013-01-25