Proof using.
intros f P Q J K Jinv Kinv JKQP s invJ invK ev.
induction ev as [s Qs | x s ev IHev].
- apply E0.
apply JKQP; assumption.
- apply E_next.
apply IHev.
* apply (Jinv x); assumption.
* apply (Kinv x); assumption.
Qed.

(* Specifications: *)
Lemma inf_often_map :
forall (f: A->B) (P: infseq A->Prop) (Q: infseq B->Prop),
(forall s, P s -> Q (map f s)) ->
forall (s: infseq A), inf_often P s -> inf_often Q (map f s).