Thread Links Date Links
Thread Prev Thread Next Thread Index Date Prev Date Next Date Index

Motion P1788/M003.01_Set_of_reals PASS



===Motion P1788/M0003.01_Set_of_reals===
Proposer: Juergen Wolff von Gudenberg
Seconder: Michel Hack

===Motion text===
The P1788 Interval arithmetic standard defines intervals as closed
and connected sets  of real numbers.  That means that ± Infinity may
be used to denote an unbounded interval but are never considered as
members of an interval.

===Rationale===
The Vienna Proposal section 1.2
Kulisch's position paper "Complete Interval Arithmetic"
The extensive discussion in the mailing list

===============================================================

Voting was through April 29.

Yes: 48
No:   6
Voting Members: 69

A position paper requires a "Yes" vote by 2/3 of the registered Voting
Members to pass.  A quorum is 2/3 of the registered Voting Members.

Quorum: 54 / 69 > 2/3
Pass:   48 / 69 > 2/3

As Voting Tabulator, I rule that the motion is PASSED


Since the motion passed by less than one vote, I performed a re-count.  If
anyone wishes, I can provide the 56 email ballots.  The rules allow voting
members to vote more than once, with the LAST ballot being the one that
counts.  That is so that you can change your mind if you are convinced by
arguments that come up during voting.


To be completely open, I should point out that Baker's announcement of
voting said

"All votes on position papers shall be public.  The
mechanism for voting is a message broadcast to
<stds-1788@xxxxxxxxxxxxxxxxx>."

I received SIX votes directly, not through <stds-1788@xxxxxxxxxxxxxxxxx>.

Baker's announcement of voting also said

"The Voting Tabulator shall count as a vote any message in
which the intent is clear."

Hence, I counted the six non-public votes.

Also, one vote was received after deadline, but before I tabulated.  I
counted that vote, too.

END FACTS; BEGIN OPINION

I think the correct interpretation is PASS.
I think the strict interpretation of the rules is NOT PASS.

We discuss to arrive at consensus.
We vote to reach a decision.

A vote of 48 to 6 (or of 42 to 5 if only public, on time votes are counted)
is overwhelming.  I think we should accept and move on.

On the other hand, if anyone were to challenge my ruling and
assert that "any message in which the intent is clear" applies
only to valid public votes, I would vote to overturn my own
ruling.

At the point, we are setting direction. We are not voting on the wording of
the standard.

We should reflect the concerns of the NO votes in subsequent discussions, so
I have appended all the NO comments below.

THIS DEMONSTRATES THE IMPORTANCE OF EVERYONE VOTING.


Dr. George F. Corliss
Electrical & Computer Engineering
Haggerty Engineering #296
Marquette University
P.O. Box 1881
1515 W. Wisconsin Ave.
Milwaukee WI 53201-1881
George.Corliss@xxxxxxxxxxxxx
414-288-6599; -288-4400 (GasDay); -288-5579 (Fax)
Www.eng.mu.edu/corlissg




From: Vincent Lefevre <vincent@xxxxxxxxxx>
To: <STDS-1788@xxxxxxxxxxxxxxxxx>
Conversation: 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)




From: Ian McIntosh <ianm@xxxxxxxxxx>
To: <STDS-1788@xxxxxxxxxxxxxxxxx>
Conversation: Motion P1788/M003.01_Set_of_reals  NO


I vote NO on Motion 3.



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.

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.  Saying I3 is Empty means you aren't answering the
question.  Doing that when it's not necessary to is undesirable.  Empty has
its own meaning and uses, and we shouldn't mash empty and infinity together.

It's important for a standard to be inclusive, and not exclude valid
applications unnecessarily.  There will be many applications of IA beyond
what is being done now.

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?  Do those ones by hand?  Use some non-1788 IA system?
And if you produce [Empty], how do you distinguish values that should be
infinity from those that should be NaNs?

Any standard will be more successful if it allows more uses.  Some of the IA
uses will naturally produce or need to consume infinities.  We shouldn't
rule all those out now, before we can even imagine them.  A couple of less
obvious places IA could be useful:
 - 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?
 - Financial analysis:  Using IA ranges for many possible investment
situations, calculate  return_on_investment  =  profit / cost, then sort
them by value.
   What if cost = 0?  An infinite ROI is a lot better than an empty one.
Which one tells you more - "Take this freebie!" or "Sorry, I couldn't
calculate your results on this one."?
The point isn't that these applications should necessarily be implemented
using 1788 IA (but why shouldn't they?).  It's that once something is
available, people will use it in ways we can't anticipate, and for IA some
(many?) of those uses will need infinities.  Even checking "Is the bridge
safe?" can involve infinity if the net support at some point is zero.  The
engineers need to know that, not that after all that work they don't have an
answer.  Having the 1788 standard force appllications to use some non-1788
system to get useful results isn't beneficial to anybody.

The argument against including Infinities seems circular to me.  If you
decide that IA is based on R, then you have to produce [Empty] for
expressions where the natural result is +/-Infinity.  You have to simply
because you don't allow [+/-Infinity].  But if you instead base IA on R*,
then you can produce [+/-Infinity].  The set is still closed (yes, I'm
assuming NaI will exist).  It's better because it defines an informative
result value for operations for which you would otherwise say there is no
result.

If you have a application that could produce an infinity it's more useful to
get infinity than an ambiguous empty set that could have been produced for
other reasons.  If you have a series of operations that produce infinity and
you don't like Infinity, it's easy to just treat it as Empty.  If you
produced Empty instead, it's unsafe to treat that as Infinity when it could
have been produced from other operations like an empty intersection.  For at
least some applications, you'd want to keep separate variables saying
whether to treat each particular Empty as really Empty or as Infinity.  Some
could simply test the result of every divide etc. and if it poduced Empty
when its inputs ween't then convert it to Infinity.  Oh, wait, 1788 doesn't
allow Infinity.  Hmmm.  Maybe convert the value to [MaxFinite, Infinity],
but that's awkward and a fib.  OK, let's use some non-1788 system so we can
get the job done right.

IA needs to coexist with regular 754 floating point.  That means they should
have the same base, instead of IA being a subset.  You don't need as many
guardian dragons or dogs if you don't have as many dangers to guard against.

IA will likely be implemented using 754, and the extra checks to ensure
operations don't produce infinity will make the programs bigger and slower,
for negative benefit.

I know Wikipedia has flaws, but its IA write-up assumes IA is based on R*
and includes infinities.  Somebody uses them, and believes they're using a
consistent system.

The bottom line for me is that to reject infinities is to cripple ourselves,
to deliberately shoot ouselves in both feet, and I'm not a masochist.  Let's
start with R* and Infinity instead of without them.


If you voted Yes and are no uncertain, remember that you can change your
vote.

Voting against Motion 3 doesn't imply that you've approved allowing
infinity, it just keeps the option open for more consideration.  It isn't my
preference, but a dual standard allowing operations with / without infinity
(eg, by having two forms of divide, or two forms of Interval) is infinitely
better than prohibiting it.


- Ian McIntosh, donning my asbestos suit     8<)         Toronto IBM Lab
8200 Warden   D2-445



From: Scott Ferson <scott@xxxxxxxxx>
To: <stds-1788@xxxxxxxxxxxxxxxxx>
Conversation: Motion P1788/M003.01_Set_of_reals NO

NO

I have two problems with the definitions.  An interval should be an
abstraction.  A set of reals is one possible incarnation, but so is a set a
probability distributions all of whose supports are constrained by the
endpoints.  It doesn't seem like good mathematics to be unnecessarily
specific.

I agree with most of Ian Macintosh's views, except to say that, from the
perspective of non-standard analysis, it seems that we should think of
Infinity as a set of values itself rather than a single value, that is,
something representing many possible values from which no particular value
can be determined.  This goes for infinitesimals too, such as 1/Infinity,
which are useful in defining open and partially open intervals.

Scott Ferson



From: Dominique Lohez <dominique.lohez@xxxxxxx>
To: <STDS-1788@xxxxxxxxxxxxxxxxx>
Conversation: Motion P1788/M003.01_Set_of_reals  NO

I vote NO.

I agree with the choice of the set of reals as the basic set of numbers.
However the motion  should include

    1) A definition   of the intervals with infinite  bound(s) in terms
of  intervals  with finite bounds.

    2) A method to evaluate the values of quantities such that  f(
(-Inf, a] ) in terms of  appropriate sets of terms such as f ([b,c] )

    3) A method to  show that  the value of some expression  f([b,c]]) ,
where [b,c] is an interval with finite bounds, is an  interval with some
infinite bound(s).


Rationales

       In favor of the motion

                         1) We try  modeling  real number  and not the
extended real numbers

                         2) Moving from real number to extended real
number would cause the loss of the ordered field structure .

        Against the motion

                          1) From  a mathematical point of view, since
infinite is not a number such additions are required.

                           2) The motion clearly address the level  1
of the paper structure previously voted. However to prevent
                             endless discussions when considering
subsequent levels    a strict framework  for infinite handling must be
defined as soon as possible.

   Sincerely,

Dominique LOHEZ

--
Dr Dominique LOHEZ
ISEN
41, Bd Vauban
F59046 LILLE
France

Phone : +33 (0)3 20 30 40 71
Email: Dominique.Lohez@xxxxxxx



From: Ian McIntosh <ianm@xxxxxxxxxx>
To: <STDS-1788@xxxxxxxxxxxxxxxxx>
Cc: Scott Ferson <scott@xxxxxxxxx>
Conversation: Motion P1788/M003.01_Set_of_reals NO


I agree "we should think of Infinity as a set of values itself rather than a
single value, that is, something representing many possible values from
which no particular value can be determined."

My wording on my vote was imprecise.  "Infinity" may mean the mathematical
concept which as Scott says is not a single value, or it may mean the bit
pattern which is a single value of a variable or expession and which
represents the concept which is an infinite set of infinite values.  In IEEE
754 it also represents an infinite set of finite overflow values, greater
than the maximum representable finite value but less than infinity.  In my
job the second meaning is more common.  Generally the context makes it
clear, but in this case it did not.  I apologize for any confusion and thank
Scott for the clarification.

- Ian McIntosh         Toronto IBM Lab   8200 Warden   D2-445



From: G. William (Bill) Walster <bill@xxxxxxxxxxx>
Reply-To: <bill@xxxxxxxxxxx>
To: <stds-1788@xxxxxxxxxxxxxxxxx>
Conversation: Motion P1788/M003.01_Set_of_reals No

Reason: By specifying how intervals must be defined mathematically,
different innovative definitions are precluded that might provide
narrower bounds on the value, or set of values that must be contained in
any interval result.  Thus, the *only* requirement that an interval
standard should have is that the resulting interval not violate the
constraint that every interval result contain the set of all possible
values.  Of course, this does require that the set of all possible
values be defined.




From: Dorina Lanza <dorinalanza@xxxxxxxxx>
To: George Corliss <George.Corliss@xxxxxxxxxxxxx>
Conversation: Motion P1788/M003.01_Set_of_reals open for VOTE

On Fri, Apr 24, 2009 at 1:06 PM, Corliss, George
<george.corliss@xxxxxxxxxxxxx> wrote:
According to my records, you are a Voting Member of P1788, and you have not
yet voted on Motion 3.  Voting closed on April 29.  Baker's announcement is
appended below.

I vote NO.

In order to change my vote the motion would have to allow standard intervals
to be open-ended (excluding their upper and/or lower bounds).

In order to change my vote the motion would have to state that standard
intervals are not arbitrary subsets of the real number line, but are
intended to represent a single contiguous segment of that line.

In order to change my vote the motion would have to state that, while the
standard wants intervals to REPRESENT collections of reals, they can only be
IMPLEMENTED over a finite subset of the rationals -- finite in both
magnitude and precision.

In order to change my vote the motion would have to state that there is no
such thing as an unbounded interval (because there are no operations over
standard intervals whose proper definition produces an unbounded collection
of numbers).

In order to change my vote the motion would have to state that mathematical
infinity is not a number.

In order to change my vote the motion would have to state that the IEEE 754
values that are LABELED as +/- infinity are in fact DEFINED in such manner
as is characteristic of an error condition (overflow) at some point in the
calculations leading to the final value, and are propagated in such manner
as to indicate that some intermediate value overflowed rather than
indicating that the final result of the calculation is unrepresentably
large.

In order to change my vote the motion would have to state that overflow (and
underflow) conditions encountered during the calculation of a standard
interval may not be excluded from that interval, but must be represented
within the standard interval in some manner sufficient to distinguish
intervals produced by calculations that do not encounter under or overflow
from intervals produced by calculations that do encounter under or overflow.

In order to change by vote the motion would have to state that excluding any
part of the full panoply of results of a calculation is a containment
failure which violates the Thou Shalt Not Lie rule for operations over
legitimate intervals.

--
Dorina Lanza
603-595-2608 [office]
617-633-0925 [cell]