intros f x.
simple induction a.
intro.
apply (dans_empty_imp_P x); auto.
intros a0 b H.
simpl in |- *.
intro H1.
cut (a0 = x :>Elt \/ dans x b).
2: apply dans_add; auto.
intro H2; elim H2; clear H2.
intro.
rewrite H0; auto.
auto.
Qed.
Hint Resolve dans_map_inv.

(* Specifications: *)
Lemma map_union :
forall (f : Elt -> Elt) (a b : Ensf),
union (map f a) (map f b) = map f (union a b) :>Ensf.