induction ls; intuition; simpl in *.
econstructor.
inversion H; clear H; subst.
econstructor.
intuition.
eapply H2.
eapply In_gen_map_iff in H.
destruct H.
intuition.
eapply In_gen_equiv_compat; [ eauto | eauto | idtac | idtac].
eapply eb_func.
eauto.
trivial.
eauto.
Qed.
End NoDup_gen_map.

(* Specifications: *)
Theorem In_gen_weaken :
forall (A : Type)(e1 e2 : A -> A -> Prop) ls a,
In_gen e1 a ls ->
(forall a', e1 a a' -> e2 a a') ->
In_gen e2 a ls.