intros.
cut (exists y : Elt, dans y a /\ x = f y :>Elt).
2: apply dans_map; auto.
intro Ht; elim Ht; clear Ht.
intros y Ht; elim Ht; clear Ht.
intros.
cut (dans y b).
2: apply dans_trans with a; auto.
intro.
rewrite H2.
apply dans_map_inv; auto.
Qed.

Lemma map_egal :
forall (f g : Elt -> Elt) (E : Ensf),
(forall x : Elt, dans x E -> f x = g x :>Elt) -> map f E = map g E :>Ensf.