On Sunday, 27 July 2014 at 16:39:01 UTC, Ola Fosheim Grøstad wrote:
On Saturday, 26 July 2014 at 16:43:06 UTC, Fool wrote:
NaN < x is false
NaN > x is false

...which means that < as it is usually defined on floating point numbers does not define a strict weak ordering.

Are you sure?

One can define a strict weak ordering using different (but equivalent) sets of axioms.

We have

NOT (0.0 < NaN) AND NOT (NaN < 0.0) [0.0 and NaN are incomparable]

AND

NOT (NaN < 1.0) AND NOT (1.0 < NaN) [NaN and 1.0 are incomparable]

However, it does NOT hold

NOT (0.0 < 1.0) AND NOT (1.0 < 0.0) [0.0 and 1.0 are incomparable]

Thus we do not have transitivity of incomparability:

"For all x, y, and z, if x is incomparable with y, and y is incomparable with z, then x is incomparable with z." [1]

[1] https://en.wikipedia.org/wiki/Weak_ordering#Strict_weak_orderings

Reply via email to