lreduce takes three arguments:
la binary operator, say b, of
type V « V ¨ V;
b should be associative: b(x,
b(y, z)) = b(b(x, y), z)
la value u of type V
la list L = [x1, x2, x3, É, xn] of values of type V
lIt returns a single
value of type V:
lIf L is empty, then the value
returned is u.
lIf L is not empty, the value
is
b(Éb(b(b(u, x1), x2), x3), É, xn)