induction ls; intuition; simpl in *.
discriminate.
destruct n.
inversion H; clear H; subst.
remember (split ls) as z.
destruct z.
simpl.
trivial.
remember (split ls) as z.
destruct z.
simpl in *.
eauto.
Qed.

Theorem snd_split_map_eq :
forall (A B C : Set)(ls : list A)(f : A -> B * C),
snd (split (map f ls)) =
map (fun p => snd (f p)) ls.