induction ls1; intros; simpl in *.
intuition.
econstructor.
inversion H; clear H; subst.
eapply IHls1 in H3.
intuition.
econstructor.
intuition.
trivial.
subst.
eapply H2.
eapply in_or_app.
intuition.
subst.
eapply H3; eauto.
Qed.

(* Specifications: *)
Theorem firstn_In :
forall (A : Type) n (ls : list A)(a : A),
In a (firstn n ls) ->
In a ls.