]> matita.cs.unibo.it Git - helm.git/blobdiff - matita/matita/contribs/lambdadelta/ground/relocation/tr_uni_compose.ma
update in ground and delayed_updating
[helm.git] / matita / matita / contribs / lambdadelta / ground / relocation / tr_uni_compose.ma
index 0648738191ed59e9f95f07bcd955c1827e2482c6..abae78a7e74e436ca00059267e3e200993e0daaf 100644 (file)
 (**************************************************************************)
 
 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_next ********************************)
+
+lemma tr_compose_uni_unit_sn (f):
+      ā†‘f ā‰— š®āØšŸā©āˆ˜f.
+#f >nsucc_zero <tr_uni_succ //
+qed.
+
+(* 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