Proof using.
intros A B f l1 l2 H; elim H; simpl in |- *; auto.
intros l0 l3 l4 H0 H1 H2 H3; apply permutation_trans with (2 := H3); auto.
Qed.
Hint Resolve permutation_map : core.

(* Specifications: *)
Lemma permutation_map_ex_aux :
forall (A B : Type) (f : A -> B) l1 l2 l3,
permutation l1 l2 ->
l1 = map f l3 -> exists l4 : _, permutation l4 l3 /\ l2 = map f l4.