Maxima Function
every (f, s)
every(f,L_1,...,L_n)
Returns true if the predicate f is true for all given arguments.
Given one set as the second argument,
every(f, s) returns true
if is(f(a_i)) returns true for all a_i in s.
every may or may not evaluate f for all a_i in s.
Since sets are unordered,
every may evaluate f(a_i) in any order.
Given one or more lists as arguments,
every(f, L_1, ..., L_n) returns true
if is(f(x_1, ..., x_n)) returns true
for all x_1, ..., x_n in L_1, ..., L_n, respectively.
every may or may not evaluate
f for every combination x_1, ..., x_n.
every evaluates lists in the order of increasing index.
Given an empty set {} or empty lists [] as arguments,
every returns false.
When the global flag maperror is true, all lists
L_1, ..., L_n must have equal lengths.
When maperror is false, list arguments are
effectively truncated to the length of the shortest list.
Return values of the predicate f which evaluate (via is)
to something other than true or false
are governed by the global flag prederror.
When prederror is true,
such values are treated as false,
and the return value from every is false.
When prederror is false,
such values are treated as unknown,
and the return value from every is unknown.
Examples:
every applied to a single set.
The predicate is a function of one argument.
(%i1) every (integerp, {1, 2, 3, 4, 5, 6}); (%o1) true (%i2) every (atom, {1, 2, sin(3), 4, 5 + y, 6}); (%o2) false
every applied to two lists.
The predicate is a function of two arguments.
(%i1) every ("=", [a, b, c], [a, b, c]); (%o1) true (%i2) every ("#", [a, b, c], [a, b, c]); (%o2) false
Return values of the predicate f which evaluate
to something other than true or false
are governed by the global flag prederror.
(%i1) prederror : false; (%o1) false (%i2) map (lambda ([a, b], is (a < b)), [x, y, z], [x^2, y^2, z^2]); (%o2) [unknown, unknown, unknown] (%i3) every ("<", [x, y, z], [x^2, y^2, z^2]); (%o3) unknown (%i4) prederror : true; (%o4) true (%i5) every ("<", [x, y, z], [x^2, y^2, z^2]); (%o5) false