proposition: Lemma mem_cons_eq_cases : forall x y l, mem x (y::l) = ((x = y) \/ (x <> y /\ mem x l)).
proof: Proof. Proof using. intros. extens. tests: (x = y). { autos*. } { iff H. { inverts~ H. } { destruct H as [|(?&?)]; subst*. } } Qed.
imports: Coq.Classes.Morphisms TLC(LibTactics LibLogic LibReflect LibOperation LibProd LibOption LibNat LibInt LibWf LibMonoid LibRelation)