Motion0036 Interval flavors: response to comments
Alexandre, Nate, Ulrich and others, and P1788
Here are some thoughts on the current discussion of the interval flavors motion (BTW it's 36, not 35 as some recent postings have called it).
First, Motion 36 is about procedure as well as theory and technicalities. It is intended to *simplify* the group's task by making a clear separation of responsibilities. Once the interface between flavors is agreed, it is entirely up to the modal people to come up with their goods by an agreed deadline, and the set-based people to come up with theirs.
Alexandre Goldsztejn makes some weighty points in his email (20 Jun 2012, at 14:02). What I write mainly responds to his points, but I think is relevant to Ulrich's & Juergen's.
But I think he is wrong on some things. First
> If Kaucher intervals were to be included inside the standard, your
> proposal would make a lot of sense !...
Ideally the set-based group (except when wearing the my "overall editor" hat, I count myself among them) will get on with their job and not think about the modal group any more -- and vice versa -- till the latter submit a document to me as overall editor, for checking and integrating. I know it will not be so simple really, because one never defines an interface right first time. But I believe we can get close to it.
Second [ibid.]
> We are currently spending a lot of time
> discussing of standardizing an exotique theory, of which different
> experts have different formulations, different applications, etc. This
> is clearly an evidence to me that this theory is not mature enough to
> be standardized.
Good point. But if Motion 36 passes, that's THEIR (the modal group's) problem.
[ibid.]
Third, that "every thing that can be done using Kaucher intervals can also be done using standard intervals". Yes -- or using a universal Turing machine. The reason I take modal intervals seriously, hence proposed this motion, is that Nate argues on grounds of *efficiency*. He says that some algorithms that are key to the commercial competitiveness of Sunfish run many times faster with modal intervals than with ordinary ones. I don't believe everything Nate says (and he probably returns the compliment), but he has the experience of coding and using these methods extensively, so I believe him on this one.
[ibid.]
> VERY HARD TO WRITE
> - User point of view. Although it makes sense, the flavor proposal is
> strongly increasing the complexity of the standard.
Length yes. Complexity no, I believe. I now think the correct way to handle flavors is to have, at the "readable copy" level, *completely disjoint* documents for each flavor, with a common part of which a copy exists in each document, guaranteed to be identical (apart from, possibly, section numbering) because it is generated from shared source by a few LaTeX \input or \include commands in each document. (Hopefully just two, one for Level 1 and one for Level 2.)
I think this is feasible with minor rearrangement of the current text, and aim to start studying this in the next few days.
Anyone, if you see reasons why this cannot be done, PLEASE TELL US ASAP.
[ibid.]
> VERY HARD TO READ/USE
I think the previous paragraph answers this important objection.
Fourth.
Points made about the difficulty of agreeing a "common" set larger than the "classical" intervals seem cogent. I take them as a friendly amendment and revise the motion as follows:
- In Item 2, the common intervals shall be exactly the classical intervals.
- This makes Item 7 superfluous, so it is deleted.
I'll submit a revised text to the web-master shortly.
That specifies the common interval *objects*. It is equally crucial to specify the common interval *operations*. From what I've been told, modal/Kaucher have no generally agreed definition of interval extension ff(xx,yy,...) of f(x,y,...) when f fails to be everywhere defined and continuous on box (xx,yy,...). If this is true, there is no point asking the modal folk to specify the value of sign([0,3]), for instance.
Therefore, I propose to add to my amended motion:
At Level 1, the *common interval extension* of a point function f(x,y,...) is the set mapping ff(xx,yy,...) that is defined if and only if f is everywhere defined and continuous on the classical box XX = (xx,yy,...), and whose value at XX is the exact range of f over XX.
(No need for a hull, because of continuity.)
So I envisage that these follow (or should do so) from the above:
- All flavors shall give the same level 1 meaning to interval extension, in this restricted sense.
- When acting on decorated intervals, all flavors shall return the same decoration when evaluating a common interval extension.
- At Level 2, for any interval type, for an operation f specified as "tightest", the finite-precision versions of its common interval extension shall be identical across flavors.
Again, if you see reasons why this cannot be done, PLEASE TELL US ASAP.
Finally.
As for decorations, the obverse of this seems to be that different flavors are *allowed to handle decorations differently*, as soon as one steps outside the common interval extension. I hadn't been expecting this, but may it remove some of the disputes between different camps?
Nate, your opinion on this will be valued.
John