Section prefix.
Variable A : Type.
Proof using.
intros. induction l; simpl in *; auto.
Qed.
Proof using.
intros. destruct l.
- reflexivity.
- contradiction.
Qed.
Proof using.
simpl. intuition.
Qed.
Proof using.
induction l; intros l' H.
- find_apply_lem_hyp Prefix_nil. subst. contradiction.
- destruct l'.
+ contradiction.
+ intros. simpl Prefix in *. break_and. subst. simpl in *. intuition.
right. eapply IHl; eauto.
Qed.
Proof using.
induction xs; intros; simpl in *.
- auto.
- break_match.
+ discriminate.
+ subst. find_inversion. eauto.
Qed.

Lemma Prefix_In :
forall (l : list A) l' x,
Prefix l l' ->
In x l ->
In x l'.