(* *)
(**************************************************************************)
-include "delayed_updating/unwind/unwind2_path_eq.ma".
-include "delayed_updating/substitution/lift_eq.ma".
+include "delayed_updating/unwind/unwind2_path.ma".
+include "delayed_updating/unwind/unwind2_rmap_lift.ma".
+include "delayed_updating/substitution/lift_path_structure.ma".
-(* UNWIND FOR PATH **********************************************************)
+(* TAILED UNWIND FOR PATH ***************************************************)
-(* Properties with lift_path ************************************************)
+(* Constructions with lift_path *********************************************)
-lemma unwind2_lift_path_after (p) (f1) (f2):
- ↑[f2]▼[f1]p = ▼[f2∘f1]p.
-#p @(path_ind_unwind … p) -p // [ #n | #p ] #IH #f1 #f2
-[ <unwind2_path_d_empty <unwind2_path_d_empty
- <lift_path_d_sn <lift_path_empty //
-| <unwind2_path_L_sn <unwind2_path_L_sn <lift_path_L_sn
- >tr_compose_push_bi //
+lemma lift_unwind2_path_after (g) (f) (p):
+ 🠡[g]▼[f]p = ▼[g∘f]p.
+#g #f * // * [ #k ] #p //
+<unwind2_path_d_dx <unwind2_path_d_dx <lift_path_d_dx
+<lift_path_structure >tr_compose_pap
+/4 width=1 by tr_pap_eq_repl, eq_f2, eq_f/
+qed.
+
+lemma unwind2_lift_path_after (g) (f) (p):
+ ▼[g]🠡[f]p = ▼[g∘f]p.
+#g #f * // * [ #k ] #p
+[ <unwind2_path_d_dx <unwind2_path_d_dx
+ <structure_lift_path >tr_compose_pap
+ /4 width=1 by tr_pap_eq_repl, eq_f2, eq_f/
+| <unwind2_path_m_dx <unwind2_path_m_dx //
+| <unwind2_path_L_dx <unwind2_path_L_dx //
+| <unwind2_path_A_dx <unwind2_path_A_dx //
+| <unwind2_path_S_dx <unwind2_path_S_dx //
]
qed.