Proof using.
unfold impl_tl; intuition.
Qed.

(* Specifications: *)
Lemma impl_tl_map_conv :
forall (f: A->B) (P P': infseq A->Prop) (Q Q': infseq B->Prop),
(forall s, P s -> Q (map f s)) ->
(forall s, Q' (map f s) -> P' s) ->
forall (s: infseq A),
(Q ->_ Q') (map f s) -> (P ->_ P') s.
Lemma not_tl_map :
forall (f: A->B) (P : infseq A->Prop) (Q: infseq B->Prop),
(forall s, Q (map f s) -> P s) ->
forall (s: infseq A), (~_ P) s -> (~_ Q) (map f s).