Proof with auto.
induction l...
simpl.
rewrite IHl.
repeat rewrite concat_app.
simpl.
rewrite app_ass.
apply Permutation_app...
rewrite Permutation_app_swap.
rewrite app_ass.
apply Permutation_app...
apply Permutation_app_swap.
Qed.

Lemma concat_product T U V (f: U -> T -> list V) l l':
Permutation
(concat (map (fun x => concat (map (fun y => f y x) l')) l))
(concat (map (fun x => concat (map (f x) l)) l')).