# preorders and posets

I am looking for a module having to do with preorders (sets with reflexive and transitive relations, also called quasi-orders). I'd like to use a few of the poset methods on preorders, but this doesn't seem to work. That is, I get

Traceback (click to the left of this block for traceback) ... ValueError: Hasse diagram contains cycles.

I figure that either there is a way to indirectly use the poset methods on preorders more generally, or else someone has implemented the quotient operation. (This turns a preorder (A,\leq) into a poset by taking the quotient under the equivalence relation \equiv on A by a \equiv b iff a \leq b and b \leq a.