Proof using.
intros P Q eP eQ s1 s2 e. destruct e; simpl. unfold impl_tl.
intros PQ1 P2.
apply eQ with (Cons x s1); [constructor; assumption | idtac].
apply PQ1. apply eP with (Cons x s2).
- constructor. apply exteq_sym. assumption.
- assumption.
Qed.

(* Specifications: *)
Lemma extensional_not_tl :
forall (P: infseq T -> Prop),
extensional P -> extensional (~_ P).