Re: Csets, modals and Motion 3
Dear John, et. al.,
Thank you for your very thoughtful comments on this topic.
> Motion 3 says that 1788 should define an interval to be a closed
> connected subset of the reals R. Clearly, this excludes both cset models,
> and modal interval models, from being *directly* supported by the
> standard.
>
> ...
>
> In view of the usefulness of these other systems, how should they be
> supported *on top* of a system that is close to Vienna? This seems
> quite easy for modals (as Nate has confirmed), and Vienna already
> provides low-level functions to aid a modal implementation.
I feel I need to make some clarifications, but then also let me make a few
suggestions:
I believe Motion 3 allows *unbounded* subsets of the reals R, e.g., the
interval (-Inf,5] is the set of all real numbers { x | x <= 5 }. This is
different than allowing extended-real subsets of R*, where intervals may
contain the infinities, which are not real numbers.
The results I show in Chapter 7 of my introductory paper conform to the
former interpretation, not the latter. So I believe they are compatible with
Motion 3. Note that the modal interval schema also aligns with Ulrich's
position paper for classical interval arithmetic in the special cases when
both modal interval operands are existential, and it satisfies Siegfried's
suggested property that 0*X=0 for any interval X.
I'm also working on a follow-up paper to show how the results in Chapter 7
were originally obtained (many years ago) from the "Semantic Theorem for f*"
of Gardenes, et. al., since some people have asked where do these results
come from. For example, the modal interval operation
(+Inf,3]+(-Inf,2]=[0,5].
I don't suggest, mathematically, that Inf-Inf=0 (the infinities are not even
members of the intervals), but that, by implication, we may use this rule
inside a computer to compute the correct endpoints of such a modal interval
result. The mathematical justification for the interval [0,5] is obtained
from the "Semantic Theorem for f*" (and requires some involved explanation).
It is just fortunate coincidence that the rule Inf-Inf=0 as a mnemonic
device always provides the same answer. Same for Inf/Inf=1 and 0*Inf=0.
Such a result doesn't follow c-set interpretation. However, I believe it
does not preclude a c-set application from using multi-intervals or OPI
datatypes (see, e.g., Section 8.1 of my introductory modal paper) as a
mechanism for c-set compatibility, should 1788 decide to standardize the
Kaucher intervals or Motion 3.
There may also be as-of-yet undiscovered applications of modal intervals
within the c-set paradigm, too. So this is an example of why it is not a
good idea that 1788 should leave the meaning of nonstandard intervals
"implementation defined." There can only be one meaning for nonstandard
intervals in any given application, and if two are needed, this creates a
conflict. I therefore see it is the responsibility of 1788 to standardize
the meaning of nonstandard intervals to prevent such problems out in the
field between various interval arithmetic applications and hardware.
It is my wish to make 1788 useful to the widest possible audience (this
includes c-sets, modals and possibly mid-rad arithmetic), and to do this
while following George's admonitions to K.I.S.S.
In my view, modals are directly compatible (or even coincide) with 1788
proposals such as Vienna Proposal and Ulrich's position paper, and
standardizing the Kaucher intervals will, at the same time, not preclude
c-set compatibility. Modals are also compatible, I believe, with Motion 3.
For this reason, and since the modals come basically for free, at no extra
cost (in both software and hardware), and since they also significantly
reduce the needed amounts of "implementation defined" and/or "undefined"
behaviour in a standard like 1788, I believe these are all compelling
reasons to standardize them, i.e., standardizing the Kaucher intervals is
a solution to K.I.S.S., in my opinion.
Sincerely,
Nate Hayes
Sunfish Studio, LLC