proposition: Lemma mem_inv_middle : forall l x, mem x l -> exists l1 l2, l = l1++x::l2.
proof: Proof. Proof using. introv E. forwards* (?&?&?&?): mem_inv_middle_first E. Qed.
imports: Coq.Classes.Morphisms TLC(LibTactics LibLogic LibReflect LibOperation LibProd LibOption LibNat LibInt LibWf LibMonoid LibRelation)