proposition: Lemma subset_filter : forall (P1 P2 : elt -> Prop) P1_dec P2_dec s1 s2, subset s1 s2 -> (forall e, P1 e -> P2 e) -> subset (filter P1 P1_dec s1) (filter P2 P2_dec s2).
proof: Proof. intros P1 P2 P1_dec P2_dec s1 s2 Hs HP e H; generalize (filter_2 _ _ _ _ H); intros [e_in_s1 P1_e]. apply filter_1; [ apply (Hs e) | apply HP ]; trivial. Qed.
imports: List more_list list_permut Arith