induction l; intuition; simpl in *.
intuition.
destruct H.
intuition.
intuition.
econstructor.
intuition.
eapply eb_symm.
eauto.
left.
eapply ea_refl.
eapply eb_symm.
eauto.
specialize (IHl y).
intuition.
destruct H2.
intuition.
econstructor.
split.
eauto.
intuition.
destruct H.
intuition.
left.
eapply eb_trans.
eapply eb_symm.
eauto.
eapply ea_func.
trivial.
right.
specialize (IHl y).
intuition.
eapply H2.
econstructor.
intuition.
eauto.
trivial.
Qed.

(* Specifications: *)
Theorem map_NoDup_gen :
forall (ls : list A),
NoDup_gen ea ls ->
NoDup_gen eb (map f ls).