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.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.Definition InE := (Mem_Seq1, In_cons, In_Simpl).

(* Specifications: *)
Lemma eqfun_refl A B (f : A -> B) : f =1 f.
Lemma eqfun_sym A B (f1 f2 : A -> B) : f1 =1 f2 -> f2 =1 f1.
Lemma eqfun_trans A B (f1 f2 f3 : A -> B) : f1 =1 f2 -> f2 =1 f3 -> f1 =1 f3.