Definition sameclass (uf: t) (a b: elt) : Prop :=
  repr uf a = repr uf b.

(* Specifications: *)
Lemma sameclass_refl: forall uf a, sameclass uf a a.
Lemma sameclass_sym: forall uf a b, sameclass uf a b -> sameclass uf b a.
Lemma sameclass_trans: forall uf a b c, sameclass uf a b -> sameclass uf b c -> sameclass uf a c.
Lemma sameclass_repr: forall uf a, sameclass uf a (repr uf a).
Lemma wf_empty: well_founded (order (M.empty elt)).
Lemma sameclass_refl: forall uf a, sameclass uf a a.
Lemma sameclass_sym: forall uf a b, sameclass uf a b -> sameclass uf b a.
Lemma sameclass_trans: forall uf a b c, sameclass uf a b -> sameclass uf b c -> sameclass uf a c.
Lemma sameclass_repr: forall uf a, sameclass uf a (repr uf a).
Lemma wf_empty: well_founded (order (M.empty elt)).