Proof using.
induction xs; intros.
- auto.
- simpl.
break_if.
+ subst. repeat find_rewrite. eauto with *.
+ simpl. rewrite H by auto with *.
break_if; eauto using f_equal2 with *.
Qed.

(* Specifications: *)
Lemma flat_map_nil : forall (f : A -> list B) l,
flat_map f l = [] ->
l = [] \/ (forall x, In x l -> f x = []).