Cartesian lifting of a binary operation to lists (source code)

= Cartesian lifting of a binary operation to lists
{c}

For a <binary operation> $\oplus$, its Cartesian lifting sends <lists> $xs,ys$ to the <list comprehension> $[x\oplus y\mid x\leftarrow xs; y\leftarrow ys]$, with the right generator varying fastest. On finite <lists> this preserves <associativity> but need not preserve <commutativity> or <idempotence>, because <list> order and repeated entries matter.