Proof with auto.
induction l...
simpl.
rewrite app_length, IHl...
Qed.

(* Specifications: *)
Lemma concat_map_nil T U (l: list T): concat (map (fun _ => nil) l) = @nil U.
Lemma concat_map_singleton_f T A (f: A -> T) l: concat (map (fun x : A => (f x)::nil) l) = map f l.
Proof with auto.