Maybe your patch changes
(%i1) map('sign,[sqrt(x),x]);
(%o1) [pz,pz]
And that's a good thing--if this is documented, it's simply a bad feature.
Let me guess that appending clearsign to sign1 & friends would cause problems. OK fine--call sign1 if you need
the persistence of sign; otherwise call $sign. It's clear.
There is goofy code in abs_integrate that calls clearsign to clean up fact database messes. Maybe I can expunge this goofy
code.
--Barton
________________________________________
From: maxima-bounces at math.utexas.edu [maxima-bounces at math.utexas.edu] on behalf of Robert Dodier [robert.dodier at gmail.com]
Sent: Thursday, March 14, 2013 15:43
To: maxima at math.utexas.edu
Subject: Re: [Maxima] MEVALP1 leaking assumption
On 2013-03-12, Barton Willis <willisb at unk.edu> wrote:
> Maybe the CL function clearsign isn't being called to clean up the
> fact database? Actually all the calls to sign + csign in simplifying
> functions frighten me--each call to sign potentially changes the fact
> database. And the call to clearsign seems to be in the main read,
> evaluate, print loop.
Thanks for the hint -- indeed the problem is that facts introduced by
sign functions aren't getting cleaned up.
I've patch $SIGN so that it calls CLEARSIGN. $CSIGN calls $SIGN so it
now cleans up too. I guess I'll do $ASKSIGN too. Incidentally the test
suite is happy with the change to $SIGN.
I'm pretty sure other sign functions (SIGN1, maybe others) are used as
entry points, but I think it's reasonable to put the clean up only in
the top-level sign functions.
best
Robert Dodier
_______________________________________________
Maxima mailing list
Maxima at math.utexas.edu
http://www.math.utexas.edu/mailman/listinfo/maxima