add missing commut. rules
some more work on cut-elim