A trait for representing partial orderings.
A trait for representing partial orderings. It is important to distinguish between a type that has a partial order and a representation of partial ordering on some type. This trait is for representing the latter.
A partial ordering is a
binary relation on a type T
, exposed as the lteq
method of this trait.
This relation must be:
- reflexive: lteq(x, x) == true
, for any x
of type T
.
- anti-symmetric: if lteq(x, y) == true
and
lteq(y, x) == true
then equiv(x, y) == true
, for any x
and y
of type T
.
- transitive: if lteq(x, y) == true
and
lteq(y, z) == true
then lteq(x, z) == true
,
for any x
, y
, and z
of type T
.
Additionally, a partial ordering induces an
equivalence relation
on a type T
: x
and y
of type T
are equivalent if and only if
lteq(x, y) && lteq(y, x) == true
. This equivalence relation is
exposed as the equiv
method, inherited from the
Equiv trait.
- Companion
- object
Value members
Abstract methods
Returns true
iff x
comes before y
in the ordering.
Returns true
iff x
comes before y
in the ordering.
Concrete methods
Returns true
iff x
is equivalent to y
in the ordering.
Returns true
iff x
is equivalent to y
in the ordering.
Returns true
iff y
comes before x
in the ordering
and is not the same as x
.
Returns true
iff y
comes before x
in the ordering
and is not the same as x
.
Returns true
iff y
comes before x
in the ordering.
Returns true
iff y
comes before x
in the ordering.