Re: Motion P1788/M003.01_Set_of_reals NO
On 2009-04-09 09:47:31 -0400, Ian McIntosh wrote:
> Infinity is needed, not just as a lower or upper bound, but as a value.
> Lots of reasons:
>
> I consider this as a special case of "Thou shalt not lie." Treating an
> answer that should be +/-Infinity as not having an answer (empty) is a
> form of lieing.
If the considered set is the set of real numbers, then saying that
the result is the empty set is not lying since +/-Infinity is not a
real number. Similarly sqrt(-1) is the empty set, even though one can
consider complex numbers and define sqrt(-1) as i, or as { i, -i },
depending on the definition of sqrt.
> For I3 = op (I1, I2), it should be true that if x is in I1 and y is
> in I2, that x op y is in I3.
Motion 3 does not go against this property.
> One obvious example of a useful application would be to transform a non-IA
> program into an IA one, to do error analysis. A very simple example might
> be feeding millions of values into a math library sqrt implementation
> (perhaps one that does multiple square roots in parallel). The
> specification includes that sqrt (+Infinity) is +Infinity, and sqrt (any
> quiet NaN) = the same quiet NaN. If IA doesn't allow working with those
> values what do you do?
Note that +Infinity is not a real number, so that sqrt(+Infinity)
does not correspond to anything, hence the empty set. If someone
provided +Infinity as an input, he did a mistake. If +Infinity is
obtained because of an overflow, then IA with Motion 3 will handle
that correctly.
> - Project planning: Using IA ranges, calculate for example task_time =
> 1 to 2.5 pw + 4.2 to 6 pw = 5.2 to 8.5 pw, then that calendar_time
> = task_time / workers.
> What if workers = 0? An infinite calendar time is more meaningful and
> useful than an empty time. Which bar on a graph shows management where to
> add people - a tall bar with "oo" at the top, or an empty bar?
This doesn't make any sense. How do you define 1 / 0 with a
mathematical 0 (hence unsigned) and signed infinities?
If you want signed infinities part of the set, then 1 / 0 will
probably give you either the empty set or [-Inf,+Inf], which is
apparently not what you want.
Also, this could be useful only for very specific applications,
many users may find such definitions awkward, and not everyone
would want the same definitions, because there are no rigourous
bases for them.
Note: infinities as numbers can be useful to make functions
continuous, but concerning 1 / x (similar to your example),
that won't be the case, unless infinity is unsigned.
> I know Wikipedia has flaws, but its IA write-up assumes IA is based on R*
> and includes infinities.
No, it doesn't. http://en.wikipedia.org/wiki/Interval_arithmetic says:
"[...] with one of them infinite we would have an unbounded
interval, while with both infinite we would have the whole
real number line."
^^^^^^^^^^^^^^^^
"real number line", not R*.
--
Vincent Lefèvre <vincent@xxxxxxxxxx> - Web: <http://www.vinc17.org/>
100% accessible validated (X)HTML - Blog: <http://www.vinc17.org/blog/>
Work: CR INRIA - computer arithmetic / Arenaire project (LIP, ENS-Lyon)