Motion 42: NO
I vote NO on Motion 42.
There are several reasons I vote NO:
-- Against the intent of Motion 8, the Motion 42 doesn't provide
decorated interpretations of Empty such as (Empty,DEF), (Empty,DAC). For
example, section 8.8.7 says decorated intersection operation may provide a
decoration min(dx,dy), where dx and dy are the decorations of the input
operands. So this gives:
([1,2],dac) intersect ([3,4],dac)
= ([1,2] intersect [3,4],min(dac,dac))
= (Empty,dac)
But by section 8.8.4 the empty set is not permitted to be decorated with
decoration dac, so the specification allows implementations that give
contradictory results.
-- I believe everyone agrees Empty is a set. But if Empty is also an
interval, then to call (Empty,ILL) a "decorated interval" on the one hand
and "not an interval" on the other hand doesn't make any sense to me (it is
a contradiction);
-- The ILL decoration may require strong Computer Algebra System
(CAS) to prove; and even if such CAS is available, the ILL decoration may
not always be provable. I think this decoration is unnecessary, too complex
and should be dropped;
-- Since Motion 42 does not allow Empty to be decorated with
decorations such as DEF and DAC, the motion must define these bare
decorations as the compressed decorated intervals (Entire,DEF) and
(Entire,DAC) respectively. This leads to what in my view is a very buggy
compressed interval arithmetic system that may return false positives and
strange, unexpected results. I would warn people not to trust it. For
example, suppose the user specifies the threshold level such that any
operation that is not defined and continuous is considered to be an error:
[1,2] \subseteq floor([0,6])
= [1,2] \subseteq ([0,6],DEF) // Full decorated
result
= [1,2] \subseteq DEF // compress non-DAC result
= [1,2] \subseteq Entire // promote bare decoration
DEF to Entire
= true
This is misleading because [1,2] is not a subset of any defined and
continuous range of floor([0,6]). It would be much better to have bare
decorations promote to Empty instead of Entire:
[1,2] \subseteq floor([0,6])
= [1,2] \subseteq ([0,6],DEF) // Full decorated
result
= [1,2] \subseteq DEF // compress non-DAC result
= [1,2] \subseteq Empty // promote bare decoration
DEF to Empty
= false
But section 8.8.4 does not allow this. More serious containment violations
may also occur with the Motion 42 scheme:
[1,2] \subseteq floor([5,6])
= [1,2] \subseteq ([5,6],DEF) // Full decorated
result
= [1,2] \subseteq DEF // compress non-DAC result
= [1,2] \subseteq Entire // promote bare decoration
DEF to Entire
= true
This is a false positive, since [1,2] is not a subset of [5,6] regardless if
[5,6] is defined and continuous or not.
-- I understand compressed interval arithmetic was removed from
Motion 42, but it appears these problems will remain when we do get to it.
-- Decoration system with EIN that gives containment order
EIN \subseteq DAC \subseteq DEF \subseteq GAP \supseteq NDF
\supseteq EIN
fixes most of the troubles listed above, yet such amendment was not made. I
would likely have voted YES if it had been.
Nate