I'd like a function AnyTrue[expr,{i,{i1,i2,...}}] which checks if expr is True for any of i1,i2... It should be as if AnyTrue was Table followed by Or@@%, with the difference that it only evaluates expr until first True is found.
Short-circuiting part is optional, what I'd really like to know is the proper way to emulate Table's non-standard evaluation sequence.
Update 11/14
Here's a solution due to Michael, you can use it to chain "for all" and "there exists" checks
SetAttributes[AllTrue, HoldAll]; SetAttributes[AnyTrue, HoldAll]; AllTrue[{var_Symbol, lis_List}, expr_] := LengthWhile[lis, TrueQ[ReleaseHold[Hold[expr] /. HoldPattern[var] -> #]] &] == Length[lis]; AnyTrue[{var_Symbol, lis_List}, expr_] := LengthWhile[lis, Not[TrueQ[ReleaseHold[Hold[expr] /. HoldPattern[var] -> #]]] &] < Length[lis]; AllTrue[{a, {1, 3, 5}}, AnyTrue[{b, {2, 4, 5}}, EvenQ[a + b]]] AnyTrue[{a, {1, 3, 5}}, AllTrue[{b, {2, 4, 5}}, EvenQ[a + b]]]