Section before_func.
Variable A : Type.
Variables f g : A -> bool.
Definition before_func_dec : forall l, {before_func f g l} + {~ before_func f g l}.
intros; induction l; simpl in *.
- intuition.
- destruct (f a); destruct (g a); intuition congruence.
Defined.
Proof using.
intros. induction l; simpl in *; intuition.
Qed.

Lemma before_func_antisymmetric :
forall l, (forall x, f x = true -> g x = true -> False) ->
before_func f g l ->
before_func g f l ->
False.