(**************************************************************************)
include "ground/relocation/tr_uni_pap.ma".
-include "ground/relocation/tr_compose_pap.ma".
-include "ground/relocation/tr_pap_eq.ma".
+include "ground/relocation/tr_id_compose.ma".
+include "ground/relocation/tr_compose_pn.ma".
+include "ground/lib/stream_hdtl_eq.ma".
(* UNIFORM ELEMENTS FOR TOTAL RELOCATION MAPS *******************************)
+(* 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.
+
(* Main constructions with tr_compose and tr_tls ****************************)
-theorem tr_compose_uni_dx (f) (p):
- (š®āØf@āØpā©ā©āā*[p]f ā fāš®āØpā©).
+theorem tr_compose_uni_dx_pap (f) (p):
+ (š®āØfļ¼ ā§£āØpā©ā©āā*[p]f) ā fāš®āØpā©.
#f #p
@nstream_eq_inv_ext #q
<tr_compose_pap <tr_compose_pap