Section before_all.
Variable A : Type.
Proof using.
intros.
simpl in *.
break_or_hyp; auto.
break_and. auto.
Qed.
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.
Proof using.
intros.
destruct l; simpl in *; auto.
Qed.

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