missing simp



RJF, Thanks for the explanation about why Ratsimp shouldn't in general
return SIMP results.  And I did mention that meval calls the general
simplifier.

It seems to me that there is still a bug here, though:

(simplifya ($ratsimp (add 'x (div 1 2)))) =>
((MTIMES SIMP RATSIMP) ((RAT) 1 2)
         ((MPLUS RATSIMP) ((MTIMES RATSIMP) 2 X) 1))

If the outer MTIMES is marked SIMP, shouldn't all its arguments be
simplified?  (Note that the subexpression (add 'x (div 1 2)) does
return a properly simplified expression.)  But as Barton asks, can
this ever cause a problem?

> First of all, you should not be providing the SIMP tag yourself.
> You should allow the system to put that tag in.  In particular,
> the system has only one copy of  (RAT SIMP)  and you have put in
> another one.

That is (or should be) only an optimization.  I hope that no code in
the system is doing an eq-test on the car of an expression!

As for generating SIMP flags by hand, I agree that it is potentially
hazardous, especially since various flags etc. change what is
considered simplified.  This was a test case/example, not production
code.

        -s