Proof using.
induction l.
- intros; left; auto.
- intros;
simpl in *.
break_or_hyp.
* left.
intro H_in.
do_in_app.
break_or_hyp; auto.
simpl in *.
break_or_hyp; auto.
* break_and.
right.
split; auto.
Qed.

(* Specifications: *)
Lemma before_all_not_in_1 :
forall l (x y : A),
~ In x l ->
before_all x y l.