(* The property for a tree to have distinct leaves  *)
Definition distinct_leaves (t : btree) : Prop :=
  forall t0 t1 t2 : btree,
  inb (node t1 t2) t -> inb t0 t1 -> inb t0 t2 -> False.

Theorem all_leaves_ulist : forall t, distinct_leaves t -> ulist (all_leaves t).