Fixpoint Mem_Seq (s : seq T) :=
  if s is y::s' then (fun x => x = y \/ Mem_Seq s' x) else xPred0.Definition EqSeq_Class := seq T.Identity Coercion seq_of_EqSeq : EqSeq_Class >-> seq.Coercion Pred_of_Eq_Seq (s : EqSeq_Class) : Pred_Class := [eta Mem_Seq s].Canonical Structure seq_PredType := @mkPredType T (seq T) Pred_of_Eq_Seq.(* The line below makes Mem_Seq a canonical instance of topred. *) 
Canonical Structure Mem_Seq_PredType := mkPredType Mem_Seq.

Lemma In_cons y s x : (x \In y :: s) <-> (x = y) \/ (x \In s).