MEVALP1 leaking assumption
- Subject: MEVALP1 leaking assumption
- From: Robert Dodier
- Date: Tue, 12 Mar 2013 18:11:08 +0000 (UTC)
Does anyone know what's going on here? MEVALP1 leaks an assumption.
(%i1) foo : %e^(abs(uu)+uu)*(uu/abs(uu)+1)+%e^(abs(uu)-uu)*(uu/abs(uu)-1);
abs(uu) + uu uu abs(uu) - uu uu
(%o1) %e (------- + 1) + %e (------- - 1)
abs(uu) abs(uu)
(%i2) :lisp (MEVALP1 '(($EQUAL) $FOO 0))
((($EQUAL)
((MPLUS SIMP)
((MTIMES SIMP) ((MEXPT SIMP) $%E ((MPLUS SIMP) ((MTIMES SIMP) -1 $UU) ((MABS SIMP) $UU)))
((MPLUS SIMP) -1 ((MTIMES SIMP) $UU ((MEXPT SIMP) ((MABS SIMP) $UU) -1))))
((MTIMES SIMP) ((MEXPT SIMP) $%E ((MPLUS SIMP) $UU ((MABS SIMP) $UU))) ((MPLUS SIMP) 1 ((MTIMES SIMP) $UU ((MEXPT SIMP) ((MABS SIMP) $UU) -1)))))
0)
(($EQUAL SIMP)
((MPLUS SIMP)
((MTIMES SIMP) ((MEXPT SIMP) $%E ((MPLUS SIMP) ((MTIMES SIMP) -1 $UU) ((MABS SIMP) $UU)))
((MPLUS SIMP) -1 ((MTIMES SIMP) $UU ((MEXPT SIMP) ((MABS SIMP) $UU) -1))))
((MTIMES SIMP) ((MEXPT SIMP) $%E ((MPLUS SIMP) $UU ((MABS SIMP) $UU))) ((MPLUS SIMP) 1 ((MTIMES SIMP) $UU ((MEXPT SIMP) ((MABS SIMP) $UU) -1)))))
0))
(%i2) facts ();
(%o2) [notequal(abs(uu), 0)]
I can't figure out where the assumption is being introduced.
For the record, is(equal(foo, 0)) doesn't leak the assumption -- someone
(I can't see where) cleans it up, I guess.
Incidentally this bug is at the root of SF bug #2557.
http://sourceforge.net/p/maxima/bugs/2557/
It is tickled by "if notequal(df,0) ..." in
share/contrib/integration/partition.mac (line 89).
FWIW
Robert Dodier