Definition two_lists_rect x y: P x y := two_lists_rect_pre (x, y).Instance Reflexive_Permutation T: Reflexive Permutation := @Permutation_refl T.Instance Reflexive_Symmetric T: Symmetric Permutation := @Permutation_sym T.Instance Reflexive_Transitive T: Transitive Permutation := @perm_trans T.

Lemma Permutation_concat_map_app T A (f g: A -> list T) l: Permutation (concat (map (fun x => f x ++ g x) l)) (concat (map f l ++ map g l)).