Re: KISS-decorations
Jürgen, Marco
On 1 Jul 2011, at 12:27, J. Wolff von Gudenberg wrote:
> We have updated our motion again in two main aspects:
> 1. Theorem 1 has been corrected.
> John's remark on implementation of elementary functions is level 2
I disagree. The draft standard text carefully phrases the basic definitions so that all (well, almost all) reasoning about interval extensions can be done at level 1. Specifically
- A level 2 interval arithmetic operation acts on an interval-type IF, which is a finite subset of the real intervals IR.
- But it can always be extended (in the set-theory function sense of making its domain larger) to a level 1 interval extension of the point operation, acting on arbitrary members of IR. Say it is a 2-argument operation phi(x,y).
Level 2: zz = phi(xx,yy)
where xx,yy in IF, giving result in IF. (1)
where the defining property is that always
zz \supseteq Range(phi|xx,yy).
- The claimed extension is defined for arbitrary xx', yy' in IR by
Level 1: zz = phi(hull(xx'),hull(yy'))
where xx',yy' in IR, giving result in IF; (2)
and where hull is the IF-hull. (Recall, for explicit types, e.g. inf-sup ones, this hull is the unique smallest enclosing member of IF; for implicit types, e.g. mid-rad, it is part of the type's definition.)
Clearly the level 1 operation (2) IS an extension of (1), namely it gives the same result when the arguments are in IF (because hull(aa)=aa when aa is in IF). Also, from (2), the level 1 operation is isotonic if and only if the level 2 one is so.
Conversely, if a level 1 interval extension (a) always returns an IF-interval, (b) is isotonic, then it necessarily arises from a level 2 version by the above construction.
Also, all level 1 interval versions that are of any interest to us (apart from the non-computable natural extension) arise from level 2 versions in this way.
So, as regards interval versions of arithmetic operations, we can and should regard levels 1 and 2 as equivalent. This is built into the basic concepts, which were intentionally designed for this purpose, so that supporting many interval types at level 2 is no more tricky than supporting just one. (If I'm wrong, I hope someone will point this out!)
So I am justified in treating the wobbly behaviour of level 2 point functions as a level 1 issue. If, by careless implementation, it leads to a non-isotonic level 2 interval version then by the above, this is equivalent to a non-isotonic level 1 interval version.
Regards
John