Global Instance Permutation_NoDup' :
 Proper (@Permutation A ==> iff) (@NoDup A).

(* Specifications: *)
Lemma Permutation_repeat x n l : Permutation l (repeat x n) -> l = repeat x n.
Lemma Permutation_incl_cons_inv_r (l1 l2 : list A) a : incl l1 (a :: l2) -> exists n l3, Permutation l1 (repeat a n ++ l3) /\ incl l3 l2.
Lemma Permutation_pigeonhole l1 l2 : incl l1 l2 -> length l2 < length l1 -> exists a l3, Permutation l1 (a :: a :: l3).
Lemma Permutation_pigeonhole_rel (R : B -> A -> Prop) (l1 : list B) l2 : Forall (fun b => Exists (R b) l2) l1 -> length l2 < length l1 -> exists b b' (l3 : list B), Permutation l1 (b :: b' :: l3) /\ exists a, In a l2 /\ R b a /\ R b' a.
Lemma Permutation_count_occ l1 l2 : Permutation l1 l2 <-> forall x, count_occ eq_dec l1 x = count_occ eq_dec l2 x.
Lemma Permutation_map l l' : Permutation l l' -> Permutation (map f l) (map f l').