induction 1; intuition; simpl in *.
eapply Permutation_app_head.
trivial.
repeat rewrite app_assoc.
eapply Permutation_app_tail.
eapply Permutation_app_comm.
eapply Permutation_trans;
eauto.
Qed.

Theorem zip_map_eq :
forall (A B C : Set)(ls : list A)(f1 : A -> B)(f2 : A -> C),
zip (map f1 ls) (map f2 ls) = map (fun a => (f1 a, f2 a)) ls.