Proof with auto.
induction t.
simpl.
rewrite comp_apply.
intros.
inversion_clear H.
eauto.
simpl.
intros.
inversion_clear H.
inversion_clear H0.
destruct (IHt H).
destruct H0.
subst.
eauto.
simpl.
intros.
inversion_clear H.
inversion_clear H0.
destruct (IHt H).
destruct H0.
subst.
eauto.
simpl in IHt0.
assert (In e (Node (ne_list.map (map f) l)))...
destruct (IHt0 H0).
destruct H1.
subst.
exists x.
split...
right.
inversion_clear H2...
Qed.

(* Specifications: *)
Lemma map_ext (A B: Set) (f g: A -> B): ext_eq f g -> forall x, map f x = map g x.
Lemma map_map_ext (A B C: Set) (f: A -> B) (g: B -> C):
ext_eq (map g ∘ map f) (map (g ∘ f)).
Lemma In_head (X: Set) (t: T X): In (head t) t.