(* The converse seems to require much more work *)

Definition fstAB := fst (A:=A) (B:=B).

Lemma eventually_map_conv_aux : forall (f: A->B) (Q: infseq B->Prop), extensional Q -> forall (s: infseq A) (sB: infseq B), always (now (fun c: A*B => let (x, y) := c in y = f x)) (zip s sB) -> eventually Q sB -> eventually (fun sc => Q (map f (map fstAB sc))) (zip s (map f s)).