Motions 55 and 57 - accuracy requirements for constructors
I think about more detailed specification of accuracy of constructors.
Below is preliminary draft of changes. I will work on exact wording.
-Dima
1) Insert a new subsection "Accuracy of constructors" between current subsections
12.10.1 "Measures of accuracy"
12.10.2 "Accuracy requirements":
<<<<
12.10.2. Accuracy of constructors.
Interval constructors (10.6.9) create interval from non-interval data.
Let us apply to them equations (31),(32),(34) from 12.10.1.
If Level 1 value of constructor is nonempty interval [l,u] then
valid f(x) \supseteq [l,u]
tightest f_{tightest} = hull_T([l,u])
accurate f(x) \subseteq nextOut(hull_T([l,u])) .
If Level 1 value of constructor is \Emp then
valid true
tighteset f_{tightest} = \Emp
accurate f(x) = \Emp .
If Level 1 constructor has no value because of bad syntax then
valid false, always signal IntvlConstructorFails.
tightest false, always signal IntvlConstructorFails.
accurate false, always signal IntvlConstructorFails. .
<Link to Difficulties of implementation here>
There is one more aspect of constructor tightness: when implementation
may refuse to determine l <= u or l > u and signal IntvlConstructorUnsure exception
and what interval it may return in such a case.
Suggestion:
If Level 1 value of constructor is nonempty interval [l,u] then
valid always may refuse, and may return f(x) \supset [min(l,u),max(l,u)]
tightest never may refuse
accurate may refuse when [min(l,u),max(l,u)] is bounded and contains no more than one values of F(with +-0 replaced by 0),
and may return f(x) \subseteq nextOut(hull_T([min(l,u),max(l,u)]))
If Level 1 value of constructor is \Emp then
valid always may refuse, and may return any interval
tighteset never may refuse, must return \Emp
accurate never may refuse, must return \Emp .
If Level 1 constructor has no value because of bad syntax then
valid never may refuse, always signal IntvlConstructorFails.
tightest never may refuse, always signal IntvlConstructorFails.
accurate never may refuse, always signal IntvlConstructorFails.
>>>>
2) The section 12.10.3 "Accuracy requirements will contain
<<<<
Constructors of infsup type shall be accurate and should be tightest.
Constructors of 754-compatible type shall be tightest when eigher
i) radix of T is binary and l,u - are binary numbers or hexadecimal number literals;
ii) radix of T is decimal and l,u - are decimal numbers or decimal number literals.
>>>>
3) Remove from Subsection 12.12.8 those text which will appear in 12.10.2 and 12.10.3 .