(** If  m is strictly longer than l and m is (set) included in l then it has a duplicate  This proof does not require weakly decidable equality and it does not find where is the duplicate *)

(* Specifications: *)
Theorem finite_pigeon_hole l m :
length l < length m
-> incl m l
-> exists x aa bb cc, m = aa++x::bb++x::cc.
Theorem partition_intersection l m k :
length k < length (l++m)
-> incl (l++m) k
-> list_has_dup l
\/ list_has_dup m
\/ exists x, In x l /\ In x m.