Proof using.
elim => //=.
move => n ns IH n' failed H_in H_in'.
have H_cn := remove_all_cons name_eq_dec failed n ns.
break_or_hyp; break_and; find_rewrite; break_or_hyp => //=.
- exact: IH.
- by left.
- right; exact: IH.
Qed.

(* Specifications: *)
Lemma tot_map_name_in :
forall ns n,
In (tot_map_name n) (map tot_map_name ns) ->
In n ns.