Proof using.
intros P Q s; unfold not_tl, and_tl, or_tl; split; [ intros PQs | intros [Ps Qs] PQs].
- split; intro Ps; contradict PQs; [left|right]; assumption.
- case PQs; assumption.
Qed.

(* Specifications: *)
Lemma not_tl_or_tl_and_tl :
forall (P Q : infseq T -> Prop) (s : infseq T),
((~_ P) \/_ (~_ Q)) s -> (~_ (P /\_ Q)) s.