(* Path compression *)
Section COMPRESS.
Variable uf: t.
Variable a b: elt.
Hypothesis a_diff_b: a <> b.
Hypothesis a_repr_b: repr uf a = b.

(* Specifications: *)
Lemma compress_order:
forall x y,
order (M.set a b uf.(m)) y x ->
order uf.(m) y x \/ (x = a /\ y = b).