> > Shouldn't we have
> >
> > inf + inf = inf (NOT 2 inf),
> > inf - inf = und (NOT 0),
> > minf + minf = minf (NOT 2 minf),
> > minf - minf = und,
> > inf - minf = inf,
> > minf - inf = minf,
> > infinity + inf = infinity + minf = infinity + infinity = und,
> > infinity - inf = infinity - minf = infinity - infinity = und?
>
> No, inf and minf are not numbers, so they cannot consistently
> be treated as numbers
Of course not. That is precisely my point. For numbers, x - x = 0 is an
identity. For inf, it is not. For numbers, x = 2x is false unless x = 0. But
2 inf = inf. We don't need to invent the rules concerning extended real
arithmetic; they exist. We just need to make sure that if we offer any kind
of an arithmetic result for, say, inf - inf, it should not be an incorrect
answer.
What I am saying is that I am perfectly okay if Maxima just gave an error
when it encountered inf - inf. Or, it could give und as the result. What it
should NOT give is a clearly incorrect result, inf - inf = 0.
> Why do you insist that inf can be added, subtracted, multiplied and
> exponentialized (or squared).
I do not. I insist that the present behavior, namely that inf IS added,
subtracted, etc. INCORRECTLY, should either be removed or corrected. We
should either produce no result or a correct result, but never a wrong
result.
> It is not a number, don't apply the "numbers only" simplifiers to it.
I am comfortable with that, yes. I would be more comfortable if we actually
implemented extended real (and complex) arithmetic, to the extent that it
can be done unambiguously. But yes, I realize that this smells like a
potential can of worms here, so your suggestion is quite sensible.
Viktor