On 6/11/06, Stavros Macrakis <macrakis at gmail.com> wrote:
> Simplification itself should never call evaluation.
If that's the case then rules constructed by tellsimpafter
break that rule ...
(%i5) f(x) := 2*x;
(%o5) f(x) := 2 x
(%i6) tellsimpafter (g(1), f(1));
(%o6) [grule1, false]
(%i7) g(1);
(%o7) 2
(%i8) g(1), noeval;
(%o8) 2
(%i9) f(1), noeval;
(%o9) f(1)
(%i10) :lisp (simplify '(($g) 1))
2
Note the MEVAL below:
:lisp #'$grule1 =>
#<FUNCTION LAMBDA (X ANS A3) NIL
(blah blah blah ...)
(RETURN (MEVAL '(($F SIMP) 1))))))
(RETURN (OR ANS (EQTEST X X))))))>
No opinion at present as to whether we should change that behavior.
Robert