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.