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.

Lemma app_Prefix :
forall (xs ys zs : list A),
xs ++ ys = zs ->
Prefix xs zs.