Re: Empty interval representations & Motion 13...
Nate, Dan, P1788
On 4 May 2010, at 07:32, Nate Hayes wrote:
> Nate Hayes wrote:
>> John Pryce wrote:
>>> Dan & P1788
>>>
>>> I have gone through Dan's work on comparisons with the empty set
>>> (below), checking against the set theory definitions given in my mail
>>> earlier today.
>>>
>>> I think they all agree, except the two I have marked (*). Namely I
>>> think
>>> empty interior empty
>>> empty strictLess empty
>>> should both give True.
>>>
>>
>> THere are a few other cases that don't agree, e.g., by the set-theory
>> definitions:...
> My mistake: I found a better copy of the old Sun C++ interval programmers guide. At least by those definitions, it appears
> empty lessEqual any
> empty strictlyLess any
> any lessEqual empty
> any strictlyLess empty
> are all false.
>
> Interestingly enough, the manual explicitly says
> empty interior empty
> is true, but for strictLess, it says
> empty strictLess empty
> is false!
Samples of my argument are as follows, with "any" being nonempty. I use
(all a in empty)P(a) = true
(exist a in empty)P(a) = false
whatever the predicate P(a).
1.
"aa lessEqual bb" is defined, following Vincent, as
(all b in bb)(exist a in aa) a <= b
and
(all a in aa)(exist b in bb) a <= b
Hence
empty lessEqual any gives
(all b in any)(false) and (true)
= (false) and (true)
= false.
any lessEqual empty gives false, similarly.
empty lessEqual empty gives
(true) and (true)
= true.
2.
The set-theory definition of "aa strictLess bb" is open to debate, but I am taking it to be the same as Vincent's "aa lessEqual bb" with <= replaced by <.
It then gives the same as "lessEqual" when aa or bb or both is/are empty.
In particular it gives
empty strictLess empty
is true, disagreeing with Nate's C++ guide. Nate, what does the guide give as its definition of strictLess?
3.
The definition of "aa interior bb" is also open to debate.
Do we take the general topological definition, which is
(all a in aa)(exist neighbourhood N of a) N \subseteq bb ?
If so, then empty is interior to anything because of the initial "all".
That is what I would prefer, and at least for empty it agrees with Nate's C++ guide.
However, this also implies that if aa=[a1,a2] and bb=[b1,b2] are nonempty, then "aa interior bb" is equivalent to
(b1 == -oo or b1 < a1) and (b2 == +oo or a2 < b2),
in other words, the < conditions are only required at _finite_ endpoints of bb. E.g.,
[2,+oo] interior [1,+oo] gives true.
Do people agree with that?
> So -4 for Nate, +1 for John, +1 for Dan, I think.
Hopefully, (+ a few) for P1788's working methods.
John