Quick example:
(%i1) load(simplifying)$
(%i2) simp_comm(a,b) := block([ac : numfactor(a), bc : numfactor(b)],
a : a / ac,
b : b / bc,
if ordergreatp(a,b) then (
[a,b] : [b,a],
ac : - ac),
ac * bc * simpfunmake('comm, [a,b]))$
(%i3) simplifying('comm,'simp_comm)$
(%i4) comm(b / 7,a / 5);
(%o4) -comm(a,b)/35
cornbread is in the oven...
--Barton