Lisp stack overflow



On Sun, Jun 6, 2010 at 15:21, R Fateman <fateman at cs.berkeley.edu> wrote:

> ...now consider  (setf n '((mbox simp)((mplus simp) $a $b)))
> (setf m (cadr n))
>  ...
> (great n m)  is T
> (great m n)  is also T
>
> this is apparently not an error, or at least it works the same in 5.17
> maxima and 5.21 maxima.
> the ordering of  some expression E   and   box(E)  should be the same...
>

Though undoubtedly (X<E iff X<box(E)) and (E<X iff box(E)<X) when X is not a
box-expression, that does not mean that E<box(E) and box(E)<E should both be
TRUE.  If they are, the canonical (simplified) form of (e.g.) x+box(x) is
not well-defined. I would guess that there are other parts of Maxima besides
simp-%sin that can break if E<box(E) and box(E)<E.

That is, (great m n) should ignore box operators *except* when m and n are
equal modulo box, in which case some arbitrary choice should be made (e.g. X
< box(X)).

               -s