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