Section list_util.
Variables A B C : Type.
Hypothesis A_eq_dec : forall x y : A, {x = y} + {x <> y}.
Proof using.
intros l x H.
symmetry in H.
induction l;
now inversion H.
Qed.
Proof using.
induction xs; intros.
- intuition auto.
- simpl in *.
concludes.
break_or_hyp; break_if; subst; try congruence; intuition (auto with datatypes).
Qed.
Proof using.
induction xs; intros.
- auto.
- simpl in *. break_if; simpl in *; intuition auto.
Qed.
Proof using.
induction xs; intros; simpl; break_if; congruence.
Qed.

Lemma remove_not_in :
forall (x : A) xs,
~ In x xs ->
remove A_eq_dec x xs = xs.