The term

*strict*
refers to the
requirement of an irreflexive relation (

!comp(x, x) for all

x),
and the term

*weak*
to requirements that are not as strong as
those for a total ordering,
but stronger than those for a partial
ordering

. If we define

equiv(a, b)
as

!comp(a, b) && !comp(b, a),
then the requirements are that

comp
and

equiv
both be transitive relations:

- comp(a, b) && comp(b, c)
implies
comp(a, c)
- equiv(a, b) && equiv(b, c)
implies
equiv(a, c)