proposition: Lemma map_modulo_SetEq : forall {A B: Type} (seq1 seq1': list A) (seq2: list B), forall (proc: A -> B), SetEq seq1 seq1' -> (SetEq (map proc seq1) (seq2) <-> SetEq (map proc seq1') (seq2)).
proof: Proof. intros; simpl; apply SetEq_trans_iff; apply SetEq_after_map; trivial. Qed.
imports: Coq.Setoids.Setoid Coq.Lists.List Coq.Sorting.Permutation Fiat.Common.List.FlattenList Fiat.Common.SetEq