Proof using.
induction l'; intros; simpl in *; intuition.
Qed.

(* Specifications: *)
Lemma before_func_before :
forall l,
before_func f g l ->
forall y,
g y = true ->
exists x : A,
f x = true /\
before x y l.
Lemma before_app_if :
forall x y l' l,
before (A := A) x y l ->
~ In y l' ->
before (A := A) x y (l' ++ l).
Lemma before_antisymmetric :
forall x y l,
before (A := A) x y l ->
before y x l ->
x = y.