Proof using.
intros l; elim l; simpl in |- *; auto.
intros a l0 H a0 f1 H0.
rewrite H0; auto.
Qed.

(* Specifications: *)
Theorem fold_left_map :
forall (C : Type) a l (k : C -> B),
fold_left f (map k l) a = fold_left (fun a b => f a (k b)) l a.