Parameter pathlen: t -> elt -> nat.

(* Specifications: *)
Axiom pathlen_zero:
forall uf a, repr uf a = a <-> pathlen uf a = O.
Axiom pathlen_merge:
forall uf a b x,
pathlen (merge uf a b) x =
if elt_eq (repr uf a) (repr uf b) then
pathlen uf x
else if elt_eq (repr uf x) (repr uf a) then
pathlen uf x + pathlen uf b + 1
else
pathlen uf x.
Axiom pathlen_gt_merge:
forall uf a b x y,
repr uf x = repr uf y ->
pathlen uf x > pathlen uf y ->
pathlen (merge uf a b) x > pathlen (merge uf a b) y.
Axiom pathlen_zero:
forall uf a, repr uf a = a <-> pathlen uf a = O.
Axiom pathlen_merge:
forall uf a b x,
pathlen (merge uf a b) x =
if elt_eq (repr uf a) (repr uf b) then
pathlen uf x
else if elt_eq (repr uf x) (repr uf a) then
pathlen uf x + pathlen uf b + 1
else
pathlen uf x.
Axiom pathlen_gt_merge:
forall uf a b x y,
repr uf x = repr uf y ->
pathlen uf x > pathlen uf y ->
pathlen (merge uf a b) x > pathlen (merge uf a b) y.