proposition: Lemma map_combine_id {A B} (f : A * A -> B) (ls : list A) : List.map f (combine ls ls) = List.map (fun x => f (x, x)) ls.
proof: Proof. induction ls as [|l ls IHls]; simpl; [ | rewrite IHls ]; 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