proposition: Lemma NoDup_filter {A} : forall (f : A -> bool) (l : list A), NoDup l -> NoDup (filter f l).
proof: Proof. induction l; simpl. - constructor. - case_eq (f a); simpl; intros. + inversion H0; constructor; eauto. subst; unfold not; intros H1; apply filter_In in H1; intuition. + inversion H0; eauto. Qed.
imports: Fiat.Common.Coq__8_4__8_5__Compat Coq.ZArith.ZArith Coq.Lists.List Coq.Lists.SetoidList Coq.Bool.Bool Fiat.Common Fiat.Common.List.Operations Fiat.Common.Equality Fiat.Common.List.FlattenList Fiat.Common.LogicFacts