From: SourceForge.net <no...@so...> - 2007-12-30 14:04:05
|
Bugs item #1629043, was opened at 2007-01-05 15:13 Message generated for change (Comment added) made by dgildea You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=1629043&group_id=4933 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: Lisp Core - Assume Group: None >Status: Closed >Resolution: Works For Me Priority: 5 Private: No Submitted By: Stavros Macrakis (macrakis) Assigned to: Nobody/Anonymous (nobody) Summary: assume: < doesn't imply not-equal Initial Comment: assume(r<1)$ is(equal(r,1)) => unknown (???) Maxima 5.11.0 GCL 2.6.8 Windows 2k ---------------------------------------------------------------------- >Comment By: Dan Gildea (dgildea) Date: 2007-12-30 09:04 Message: Logged In: YES user_id=1797506 Originator: NO Works in current cvs. (%i1) assume(r<1)$ (%i2) is(equal(r,1)); (%o2) false (%i3) is(equal(r,2)); (%o3) false (%i4) is(equal(r,0)); (%o4) unknown ---------------------------------------------------------------------- Comment By: Barton Willis (willisbl) Date: 2007-04-05 23:56 Message: Logged In: YES user_id=895922 Originator: NO Appending (simplifya e nil) might not be the right thing to do, but it does eliminate this bug: (defun equal-facts-simp (e) (let ((f (margs ($facts)))) (dolist (fi f (simplifya e nil)) (if (op-equalp fi '$equal) (setq e ($ratsubst (nth 2 fi) (nth 1 fi) e)))))) ---------------------------------------------------------------------- Comment By: Barton Willis (willisbl) Date: 2007-04-05 23:39 Message: Logged In: YES user_id=895922 Originator: NO What's the story: (%i1) assume(r<1); (%o1) [r<1] (%i2) :lisp(trace meqp csign); (MEQP CSIGN) (%i2) is(equal(x,1)),prederror : false; 1> (MEQP $X 1) 2> (CSIGN ((MPLUS RATSIMP) $X -1)) <-- the argument to csign looks specious ? <2 (CSIGN $PNZ) <-- Yikes! <1 (MEQP (($EQUAL) $X 1)) (%o2) unknown (%i8) ?csign(r-1); 1> (CSIGN ((MPLUS SIMP) -1 $R)) <1 (CSIGN $NEG) (%o8) neg <-- OK ---------------------------------------------------------------------- Comment By: Stavros Macrakis (macrakis) Date: 2007-01-05 15:19 Message: Logged In: YES user_id=588346 Originator: YES assume(r<1)$ is(equal(r,1)) => unknown (???) is(equal(r,2)) => unknown (???) On the other hand, assume(s<t)$ is(equal(s,t)) => false (OK) is(equal(s,t+1)) => unknown (oops, but probably not the same bug) assume(equal(q,1))$ is(q<1) => false (OK) is(q<=1) => true (OK) Maxima 5.11.0 GCL 2.6.8 Windows 2k ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=1629043&group_id=4933 |