Motion P1788/M0010.22: ElementaryFunctions: YES
P1788
I vote YES on this for the same reasons and with similar reservations as George and Baker. That is, don't rock the boat now, but rock it later.
I agree with everything in Motion 10.22 except the general pow(xx,yy).
- I find Nate's criticisms of pow() pretty convincing.
- Also, I am wondering what is the use of a pow(xx,yy) that, as far as singleton yy = [y,y] is concerned, understands only those rational y that can be expressed exactly in either base 2 or base 10? This puzzled me some weeks back when Prof Fahmy was arguning in favour of this function.
- But I have a more serious criticism of pow(), as it is presented by Juergen. He says in the rationale "it is not an extension of any point function" or similar words. But it has to (in standardese, "shall") be. The reason is that P1788 believes in the Fundamental Theorem of Interval Arithmetic (FTIA) at least we voted for it in Motion 6.
The FTIA relates the result of evaluating the interval version of an expression E, to the range of the point function f defined by E. If any of the interval library functions used in the interval version fails to be "an extension of any point function", then f does not exist!
Actually, Juergen's assertion is false. Any interval mapping whatever is an interval extension of a point function, namely the function that is everywhere undefined, i.e. has empty domain. Of course that is useless because if that occurs anywhere in the (point version of) E, then the resulting f is also everywhere undefined.
So the question is whether interval_pow() as Juergen defines it is an interval extension of some "useful" point_pow(). I haven't checked, but suspect that it is an extension of
f(x,y) = {usual x^y for x>0, any y
{0 for x=0, y>0 (unique limiting value)
{0 for x=y=0 (arbitrary choice)
{rational power x^(p/q)
{ for those rational y = p/q for which this makes sense
{undefined otherwise, including for x=0, y<0.
Could someone check?
There is always a "maximal" (not necessarily unique) point function g of which a given interval mapping gg is an extension, _provided_ gg is isotonic. Namely, let
g(z) := ( an arbitrary point in gg([z,z]) ) whenever gg([z,z]) is nonempty;
undefined elsewhere.
So I am guessing that for Juergen's pow(), this construction yields the unique f I described above.
In any case, for the sake of the FTIA, ALL our elementary functions should start from the definition of the point function, and then the interval version, at least theoretically, should be the _sharp_ interval extension of that. IMO.
That's my boat-rocking £0.02.
John