RE: Nate's objections to Motion 42
John Pryce wrote:
> On 11 Feb 2013, at 14:44, Nathan T. Hayes wrote:
> > A failed constructor, therefore,
> > is just an out-of-domain evaluation of a function, similar, e.g., to
> > sqrt([-2,-1]) = Empty. IMO, the efforts to treat failed constructors
> > differently is adding a lot of unnecessary confusion and complexity to
the
> > standard for what I see as no additional benefit.
>
> They are not at all similar. For
> sqrt([-2,-1]) = Empty
> we have a real point-function f and a *set* xx as input, and the result
returned is an
> interval containing all f(x)'s as x ranges over xx. For
> text2interval("friedchicken") = NaI
> we have a function F and a *single point input*, the element s =
"friedchicken" of the
> space of strings. In this case F(s) fails to be defined, but if it were,
its result would be
> a *set* of reals, by contrast to f which produces one real at a time.
For me, the key here is when you say "in this case F(s) fails to be
defined".
IMO, that sentence you uttered makes emp and ill a distinction without a
meaning. These two decorations can be merged into a single "not defined"
decoration (ndf), since both
sqrt([-2,-1]) and text2interval("friedchicken")
are "not defined," just as you have said.
When not defined, the interval extension of sqrt is Empty. IMO, so is the
constructor, i.e.,
sqrt([-2,-1]) = (Empty,ndf)
and text2interval("friedchicken") = (Empty,ndf).
I am not aware of any further distinction between the results of these two
operations that is needed or would otherwise make any practical difference,
so the current discussions about about distinction between emp and ill is
just complexity for the sake of complexity, IMO, and is unnecessary.
Nate