CommutingAsSum
Makes an object behave as a sum when commuting.
This makes an object behave, for purposes of commutation rules, as a
sum.A(#)::CommutingAsSum;
{Q,X,Y,Z}::AntiCommuting;
ex:= A(Y)(Z)*A(X);
Attached property CommutingAsSum to A(#).
Attached property AntiCommuting to (Q,X,Y,Z).
A(YZ)A(X)
sort_product(_);
−A(X)A(YZ)
The minus sign arises because it would also have been present when
sorting the expression
(Y+Z)*X
.