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
|