Proof using.
intros f. cofix cf.
intros (a, sA) (b, sB).
repeat rewrite map_Cons; repeat rewrite zip_Cons; repeat rewrite map_Cons; simpl.
intro al; case (always_Cons al); clear al; simpl. intros e al. case e. constructor.
apply cf. exact al.
Qed.

(* Specifications: *)
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)).