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

Re: Reasons (not) to vote Motion 27: NO





Am 05.08.2011 16:17, schrieb Arnold Neumaier:
On 08/05/2011 04:02 PM, Nate Hayes wrote:
Arnold Neumaier wrote:
On 08/04/2011 07:09 PM, Nate Hayes wrote:
Arnold Neumaier wrote:
Motion 26 protects the inexperienced user, while the expert user can
judge
for themselves how to make use of the decorations.

All Motion 26 does in this regard is allow users to write unreliable
programs. Since there is no standard, a user may run a program on one
conforming implementation that uses a certain set of semantics and get
valid
results (by coincidence) and then run the same program on another
conforming
implementation and fail catastrophically.

One can write unreliable programs no matter how the decoration system
works, since the user can always set decorations arbitrarily.

As I noted to john, the difference is where can the source of the
failure be
traced back to.
With motion 27, the decorations never lie: the failure is traced back to
the
user's buggy code.
With motion 26, the decorations may lie:

No. There is a proof that they are correctly designed.

Note that the example I had discussed in December does not conform to Motion 26, so you cannot use it to accuse Motion 26 of being buggy.


With Motion 26, the user gets type errors when trying to use an
intersection result in a decorated operation (which is the potentially
unreliable bit) without having set decorations explicitly (and thereby
declaing that what is done is intentional).
It doesn't matter. See my post to John.

I answered that just a moment ago.


In any case. Most interval programs use lots of intersection and union
operations. So this means none of them will compile if users are trying to
perform decorated calculations.

They get intersection results without decoration, and can continue with decorated calculations of a new range by calling the domain function. This corresponds to what is usually done in branch and bound algorithms.


With Motion 27, no such error occurs, and the result is whitewashed to
safe, no matter what was going on.
You have not given any of the examples I requested.

I gave the example y=1/(x intersect (x+1)), which is nonsense but passes a Motion 27 conforming compiler necessarily with a safe result.


Arnold Neumaier
That function is not an extension of a real function .But as a function IR -> IR it can be evaluated with decorated intervals
giving the expected result.

Jürgen

-- 
-                Prof. Dr. Juergen Wolff von Gudenberg 
     o           Lehrstuhl fuer Informatik II
    / \          Universitaet Wuerzburg, Am Hubland, D-97074 Wuerzburg
InfoII o         Tel.: +49 931 / 31 86602 Fax ../31 86603
  / \  Uni       E-Mail:wolff@xxxxxxxxxxxxxxxxxxxxxxxxxxx
 o   o Wuerzburg