Presumably the correct simplifications involving inf are those which are
correct regardless of where the inf came from. Of course, ideally we'd like
to keep more information associated with the inf's (as RJF has pointed out,
we do not have the restriction of a numerical system which requires all
objects to be of a small, fixed size).
That is equivalent to defining them as (to invent a notation)
limit(expr,[xx,yy,...], inf), where each xx, yy, etc. takes the place of
once instance of inf. So
inf/inf == limit(x/y,[x,y],[inf,inf]) == und
This is very different from
limit(limit(x/y,y,inf),x,inf) == 0
or
limit(limit(x/y,x,inf),y,inf) == inf.
The problem with 0*inf is that we don't know if 0 should also be treated as
a limit e.g.
limit(x*y, [x,y], [0,inf]) == und
or as really being 0
limit(0*y, [y], [inf]) == 0
Since we don't know, we have to treat it as arising from a limit, and indeed
all constants need to be treated this way, e.g.
1^inf == limit(x^y,[x,y],[1,inf]) == und
(consider (1+1/x^2)^x ==> 1
vs. (1+sin(x)/x)^x as x->inf ==> ind
vs. (1+1/x)^x ==> %e
vs. (1+x^(-1/2))^x ==> inf
4*inf -> inf YES
> -1*inf -> minf (debatable?) YES
> inf/inf -> und (or ind?) UND
> inf*inf -> inf YES
> inf*0 -> und (or ind?) UND ***see above***
> (1-sqrt(2))*inf -> minf YES
> (1+sqrt(2))*inf -> inf YES
>
> But inf^2 -> inf^2, still,
Why? Both inf*inf and inf^2 go to inf regardless of how you approach it.
> and x*inf -> x*inf. I wasn't sure what to
> do with x*inf, so I thought it best to leave it alone.
>
Yes.
-s