(* lemmes de compatibilité présents dans coq 8.5 *)
Section Compat.

(* Specifications: *)
Lemma NoDup_map_inv A B (f:A->B) l : NoDup (map f l) -> NoDup l.
End Compat.
Lemma In_In_list_decompose {A} (x y : A) l : In x l -> In y l ->
x = y \/
exists l1 l2 l3, (l = l1 ++ x :: l2 ++ y :: l3) \/ (l = l1 ++ y :: l2 ++ x :: l3).