tellsimp problem



I have tried for weeks to get this to work and nothing seems to help.  I think the key to the error is in the third 
message from tellsimp, but I am not even sure of that because I don't know what the message means.  In any case I get an 
error.  I just want to do the substitution in tellsimp.


(%i1) matchdeclare(aa, constantp, bb, constantp, xx, symbolp)$

(%i2) simp:false;
(%o2) false

(%i3) tellsimp('integrate(unit_step(aa*xx+bb),xx),(aa*xx+bb)*unit_step(aa*xx+bb)/aa)$
bb+xx*aa partitions `sum'
aa*xx partitions `product'
xx*aa Will be matched uniquely since sub-parts would otherwise be ambigious.

(%i4) simp:true;
(%o4) true

(%i5) integrate(unit_step(7*x+9),x);
Improper value assignment:xx*aa -- an error.  To debug this try debugmode(true);

Rich