induction ls; intuition.
simpl in *.
intuition.
eapply H1.
rewrite <- (H a).
rewrite <- (H a0).
f_equal.
trivial.
eapply IHls; eauto.
Qed.

(* Specifications: *)
Lemma map_NoDup : forall (A B : Set)(ls : list A)(f : A -> B)(f_inv : B -> A),
(forall a, In a ls -> f_inv (f a) = a) ->
NoDup ls ->
NoDup (map f ls).