Definition inclp (X : Type) (A : list X) (p : X -> Prop) : Prop :=
  forall x, x el A -> p x.(** *** Setoid rewriting with list inclusion and list equivalence *)

Instance incl_preorder X : 
  PreOrder (@incl X).Instance equi_Equivalence X : 
  Equivalence (@equi X).

Lemma filter_fst p x A : p x -> filter p (x::A) = x::filter p A.