proposition: Lemma app_eq_one : ys ++ zs = one x ++ xs -> (exists qs, ys = x :: qs /\ xs = qs ++ zs) \/ (ys = nil /\ zs = x :: xs).
proof: Proof. clear. auto using CoqListFacts.app_eq_cons. Qed.
imports: Coq.FSets.FSets Coq.Lists.List Coq.Logic.Decidable Coq.Strings.String String Metalib.CoqFSetDecide Metalib.CoqListFacts Metalib.LibTactics Metalib.CoqFSetInterface Coq.Classes.Equivalence Coq.Classes.EquivDec Metalib.CoqEqDec