Strange thing in Maxima: reduction of fraction



> (%i3) a/a;
> (%o3) 1
> this seems to me true only if a is not zero.

You are right.  There are several ways Maxima could handle this:

1) ignore the problem and simplify anyway (current behavior);
1a) ignore the problem but give the user a warning message (possible,
but if we don't carry along the assumpeion (see 3a and 5) then there
may be many redundant warnings)
2) don't simplify at all in cases like this (very inconvenient)
3) ask the user every time (inconvenient, especially since assumptions
would not be carried along to the next command line where a was
involved)
3a) same thing but somehow carry along the assumption (see 5)
4) return some sort of conditional expression, e.g. 'if a=0 then a/a
else 1 (Maxima can't currently simplify such things in any useful way,
and the results would end up very messy)
5) go ahead and assume a#0, but carry that assumption along for future
simplification (RJF's proposal -- requires design and implementation
work)

Others' thoughts?

           -s