proposition: Lemma uniquize_map {A B} (f : A -> B) (beq : B -> B -> bool) (ls : list A) : uniquize beq (map f ls) = map f (uniquize (fun x y => beq (f x) (f y)) ls).
proof: Proof. induction ls; trivial; simpl. rewrite !IHls, list_bin_map. edestruct @list_bin; simpl; reflexivity. Qed.
imports: Fiat.Common.Coq__8_4__8_5__Compat Coq.ZArith.ZArith Coq.Lists.List Coq.Lists.SetoidList Coq.Bool.Bool Fiat.Common Fiat.Common.List.Operations Fiat.Common.Equality Fiat.Common.List.FlattenList Fiat.Common.LogicFacts