Global Instance Permutation_length' :
Proper (@Permutation A ==> Logic.eq) (@length A) | 10.
Global Instance Permutation_Forall (P : A -> Prop) :
Proper ((@Permutation A) ==> Basics.impl) (Forall P).
Global Instance Permutation_Exists (P : A -> Prop) :
Proper ((@Permutation A) ==> Basics.impl) (Exists P).

(* Specifications: *)
Lemma Permutation_Forall2 (P : A -> B -> Prop) :
forall l1 l1' (l2 : list B), Permutation l1 l1' -> Forall2 P l1 l2 ->
exists l2' : list B, Permutation l2 l2' /\ Forall2 P l1' l2'.
Theorem Permutation_ind_bis :
forall P : list A -> list A -> Prop,
P [] [] ->
(forall x l l', Permutation l l' -> P l l' -> P (x :: l) (x :: l')) ->
(forall x y l l', Permutation l l' -> P l l' -> P (y :: x :: l) (x :: y :: l')) ->
(forall l l' l'', Permutation l l' -> P l l' -> Permutation l' l'' -> P l' l'' -> P l l'') ->
forall l l', Permutation l l' -> P l l'.
Theorem Permutation_nil_app_cons : forall (l l' : list A) (x : A),
~ Permutation nil (l++x::l').