Definition delete_min (s: t) : option (elt * t) :=
   match min_elt s with
   | Some x => Some (x, remove x s)
   | None => None
  end.

Lemma delete_min_spec1: forall (s: t) k s', delete_min s = Some (k,s') <-> (min_elt s = Some k /\ remove k s = s').