Proof using A B C.
induction l as [|b' l']; simpl in *; intuition; subst.
destruct (in_dec B_eq_dec b l'); intuition.
find_eapply_lem_hyp fold_left_for_each_not_in; eauto.
Qed.

Lemma hd_error_tl_exists :
forall (l : list A) x,
hd_error l = Some x ->
exists tl,
l = x :: tl.