Canonical seq_eqType := Eval hnf in EqType (seq T) seq_eqMixin.

(* Specifications: *)
Lemma eqseqE : eqseq = eq_op. Proof. by []. Qed.
Lemma eqseq_cons x1 x2 s1 s2 :
(x1 :: s1 == x2 :: s2) = (x1 == x2) && (s1 == s2).
Lemma eqseq_rcons s1 s2 x1 x2 :
(rcons s1 x1 == rcons s2 x2) = (s1 == s2) && (x1 == x2).
Lemma mem_take s x : x \in take n0 s -> x \in s.
Lemma hasPP s aP : (forall x, reflect (aP x) (a x)) ->
reflect (exists2 x, x \in s & aP x) (has a s).
Lemma allP s : reflect (forall x, x \in s -> a x) (all a s).
Lemma allPP s aP : (forall x, reflect (aP x) (a x)) ->
reflect (forall x, x \in s -> aP x) (all a s).
Lemma mem_filter x s : (x \in filter a s) = a x && (x \in s).
End Filters.