(***************************************************)
(** * Applying functions to the elements of a list *)
(***************************************************)
(************)
(** ** Map  *)
(************)
Section Map.
Variables (A : Type) (B : Type).
Variable f : A -> B.
Local Notation map := (@map A B f).

Lemma map_eq_cons : forall l l' b,
map l = b :: l' -> exists a tl, l = a :: tl /\ f a = b /\ map tl = l'.