On 3/8/07, Chris Sangwin <sangwinc at for.mat.bham.ac.uk> wrote:
>
> (%i2) kill(allbut [functions]);
> (%o0) done
>
> (%i1) trigsimp(0);
> trigrule1 not found#0: trigsimp(x=0)
In general, how "safe" is "kill(allbut [functions]);"?
>
Well, it is not "safe" at all in general, since functions may depend on
simplification rules, global variables, etc.
The problem here is that the trigsimp is acting like a user-defined function
whereas the user has a reasonable expectation that it is a built-in; after
all, kill(trigsimp) is a no-op.
I suspect that the *technical* problem is that there is no way to declare a
simplification rule as being internal rather than user-defined. Can we fix
that?
I will report this as a bug.
-s