between and among: worth Phobosization?

Ola Fosheim Grøstad" <ola.fosheim.grostad+dlang at gmail.com> Ola Fosheim Grøstad" <ola.fosheim.grostad+dlang at gmail.com>
Wed Dec 18 13:12:47 PST 2013


On Wednesday, 18 December 2013 at 20:45:44 UTC, Timon Gehr wrote:

> Giving up Eg. ¬(A ∧ B) → ¬A ∨ ¬B is actually a sensible thing 
> to do in constructive logic.

It is common to give it up in fuzzy logic too, doesn't mean it is 
the first thing to throw out.

Anyway, the point in the discussion above is that of having a 
third value "uncertain"/"indeterminate" mapped to false and the 
consequences of that.

You don't want:
a<b == a>b, so ordering overlapping intervals is indeterminate

It is sensible to allow explicit:
bool(indeterminate)==false

If you then have:
[a,b]<[c,d] => indeterminate

And define == by < then it follows that:
[a,b]==[a,b] => indeterminate for a!=b

and:
bool([a,b]==[a,b]) => false

and therefore you would want:
bool([a,b]!=[a,b]) => true

Which is kind of tricky to achieve unless you have two types of 
indeterminate when I come to think of it, maybe you need 
indeterminate and not_indeterminate if you allow casts to bool… 
E.g. !indeterminate=> not_indeterminate and !not_indeterminate => 
indeterminate ?

Hm…


More information about the Digitalmars-d mailing list