Define GENERALIZED_NONCOMMUTATIVE_SUM(op, a1, ..., aN) as follows:
a1 when N is 1, otherwise
op(GENERALIZED_NONCOMMUTATIVE_SUM(op, a1, ..., aK), op(GENERALIZED_NONCOMMUTATIVE_SUM(op, aM, ..., aN)) for any K where 1<K+1=M≤N.
Define GENERALIZED_SUM(op, a1, ..., aN) as GENERALIZED_NONCOMMUTATIVE_SUM(op, b1, ..., bN), where b1, ..., bN may be any permutation of a1, ..., aN.