]> matita.cs.unibo.it Git - helm.git/blobdiff - matita/matita/contribs/lambdadelta/delayed_updating/reduction/ifr_lift.ma
Merge branch 'master' of ssh://matita.cs.unibo.it:/srv/git/helm
[helm.git] / matita / matita / contribs / lambdadelta / delayed_updating / reduction / ifr_lift.ma
index 6d5cb47f0b093dd2a5d0f1fdf7ff6031f308f9ea..59c9dcc9e6f150ab1d2b8ee15cdc42e2cd08bf0e 100644 (file)
 
 include "delayed_updating/reduction/ifr.ma".
 
-include "delayed_updating/unwind/unwind2_path_lift.ma".
-
 include "delayed_updating/substitution/fsubst_lift.ma".
 include "delayed_updating/substitution/fsubst_eq.ma".
-include "delayed_updating/substitution/lift_prototerm_eq.ma".
+include "delayed_updating/substitution/lift_prototerm_after.ma".
 include "delayed_updating/substitution/lift_path_head.ma".
 include "delayed_updating/substitution/lift_rmap_head.ma".
 
+include "ground/relocation/tr_uni_compose.ma".
+include "ground/relocation/tr_compose_eq.ma".
+
 (* IMMEDIATE FOCUSED REDUCTION **********************************************)
 
 (* Constructions with lift **************************************************)
@@ -29,27 +30,27 @@ include "delayed_updating/substitution/lift_rmap_head.ma".
 theorem ifr_lift_bi (f) (p) (q) (t1) (t2):
         t1 āž”š¢šŸ[p,q] t2 ā†’ ā†‘[f]t1 āž”š¢šŸ[ā†‘[f]p,ā†‘[ā†‘[pā—–š—”ā—–š—Ÿ]f]q] ā†‘[f]t2.
 #f #p #q #t1 #t2
-* #n * #H1n #Ht1 #Ht2
-@(ex_intro ā€¦ ((ā†‘[pā—š—”ā——š—Ÿā——q]f)ļ¼ ā§£āØnā©)) @and3_intro
+* #k * #H1k #Ht1 #Ht2
+@(ex_intro ā€¦ ((ā†‘[pā—š—”ā——š—Ÿā——q]f)ļ¼ ā§£āØkā©)) @and3_intro
 [ -Ht1 -Ht2
   <lift_rmap_L_dx >lift_path_L_sn
-  >list_append_rcons_sn in H1n; <reverse_append #H1n
-  <(lift_path_head ā€¦ H1n) -H1n //
-| lapply (in_comp_lift_path_term f ā€¦ Ht1) -Ht2 -Ht1 -H1n
+  <(lift_path_head_closed ā€¦ H1k) in āŠ¢ (??%?); -H1k //
+| lapply (in_comp_lift_path_term f ā€¦ Ht1) -Ht2 -Ht1 -H1k
   <lift_path_d_dx #Ht1 //
 | lapply (lift_term_eq_repl_dx f ā€¦ Ht2) -Ht2 #Ht2 -Ht1
   @(subset_eq_trans ā€¦ Ht2) -t2
   @(subset_eq_trans ā€¦ (lift_term_fsubst ā€¦))
   @fsubst_eq_repl [ // | <lift_path_append // ]
-(*  
-  @(subset_eq_trans ā€¦ (lift_term_iref ā€¦))
-  @iref_eq_repl
-  @(subset_eq_canc_sn ā€¦ (lift_term_grafted_S ā€¦))
+  @(subset_eq_canc_sn ā€¦ (lift_term_eq_repl_dx ā€¦))
+  [ @lift_term_grafted_S | skip ]
+  @(subset_eq_trans ā€¦ (lift_term_after ā€¦))
+  @(subset_eq_canc_dx ā€¦ (lift_term_after ā€¦))
   @lift_term_eq_repl_sn
 (* Note: crux of the proof begins *)
-  >list_append_rcons_sn in H1n; #H1n >lift_rmap_A_dx
-  /2 width=1 by tls_lift_rmap_append_closed/
+  @(stream_eq_trans ā€¦ (tr_compose_uni_dx ā€¦))
+  @tr_compose_eq_repl //
+  >list_append_rcons_sn in H1k; #H1k >lift_rmap_A_dx
+  /2 width=1 by tls_lift_rmap_closed/
 (* Note: crux of the proof ends *)
 ]
 qed.
-*)
\ No newline at end of file