case_eq (M.elements M.empty); intros; auto.
destruct (M.elements_spec1 M.empty e) as [? _].
absurd (M.In e M.empty).
apply M.empty_spec.
apply H0.
rewrite H; constructor.
auto.
Qed.

(* Specifications: *)
Lemma setd_add_In_inv_elems :
In y (M.elements (M.add x s)) -> x = y \/ M.In y s.