between and among: worth Phobosization?

Andrei Alexandrescu SeeWebsiteForEmail at erdani.org
Wed Dec 18 09:29:21 PST 2013


On 12/18/13 12:58 AM, "Ola Fosheim Grøstad" 
<ola.fosheim.grostad+dlang at gmail.com>" wrote:
> On Wednesday, 18 December 2013 at 02:17:06 UTC, Andrei Alexandrescu wrote:
>> On 12/17/13 5:58 PM, "Ola Fosheim Grøstad"
>> <ola.fosheim.grostad+dlang at gmail.com>" wrote:
>>> Why is that? I would think that 10 == Interval(10,10), but
>>> interval(5,100).contains(10) ?
>>
>> Yah, defining == my way would make it non-transitive.
>>
>>> True interval arithmetic is difficult to
>>> implement though, since !(a<b) does not imply (a>=b) if I got it right…
>>
>> I didn't peruse the wikipedia page in detail but it seems a lot of
>> interval arithmetic is well-defined.
>
> But it is counter-intuitive since an interval represent uncertainty?
>
> [5,5] == [5,5] => true
> [1,5] != [1,5]  => false? // counter-intuitive

Within the tolerance allowed, they are equal.

> [0,5] < [6,10] => true
> [0,5] < [2,10] => uncertain

That would be false.

The whole trick is to define primitives such that they have the 
fundamental properties (transitivity, (anti-)symmetry etc).

>>> So you you might have to introduce a tri-boolean type
>>
>> That would be good too for distinct reasons.
>
> I wrote libraries for both tribool and fuzzybool

There's been a discussion on fast tristate logic recently in here.


Andrei




More information about the Digitalmars-d mailing list