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

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

Lemma eventually_map_conv_ext : forall (f: A->B) (P: infseq A->Prop) (Q: infseq B->Prop) (J : infseq A -> Prop), extensional P -> extensional Q -> extensional J -> (forall x s, J (Cons x s) -> J s) -> (forall s, J s -> Q (map f s) -> eventually P s) -> forall s, J s -> eventually Q (map f s) -> eventually P s.