# Is there a way to set arbitrary function commuting rules?

I am trying to perform a derivation using discrete difference operations, but I don't want to actually define my discrete operator. What I would like to do, is specify

```
d = function('d')
var('x y')
```

I'd like to specify d(x*y) = d(x*y) (multiplication does not commute), but I need d(x+y) = d(x) + d(y) (addition does commute). Any ideas?