+(* Constructions with tr_compose and tr_tl **********************************)
+
+lemma tr_tl_compose_uni_sn (n) (f):
+ āf ā ā(š®āØnā©āf).
+#n @(nat_ind_succ ā¦ n) -n //
+/2 width=1 by stream_tl_eq_repl/
+qed.
+
+(* Constructions with tr_compose and tr_tls *********************************)
+
+lemma tr_tls_compose_uni_sn (f) (n) (p:pnat):
+ ā*[p]f ā ā*[p](š®āØnā©āf).
+#f #n #p elim p -p //
+#p #IH /2 width=1 by stream_tl_eq_repl/
+qed.
+
+lemma tr_tl_compose_uni_dx (f) (n):
+ ā*[ān]f ā ā(fāš®āØnā©).
+// qed.
+
+lemma tr_tls_compose_uni_dx (f) (p) (n):
+ ā*[p+n]f ā ā*[p](fāš®āØnā©).
+#f #p elim p -p [| #p #IH ] #n
+[ <nrplus_unit_sn //
+| <nrplus_succ_sn >nsucc_inj >nsucc_inj
+ /2 width=3 by stream_tl_eq_repl/
+]
+qed.
+