include "delayed_updating/substitution/lift_prototerm_after.ma".
include "delayed_updating/substitution/lift_path_structure.ma".
include "delayed_updating/substitution/lift_path_closed.ma".
-include "delayed_updating/substitution/lift_path_guard.ma".
include "delayed_updating/substitution/lift_rmap_closed.ma".
include "ground/relocation/tr_uni_compose.ma".
theorem ibfr_lift_bi (f) (t1) (t2) (r):
t1 โก๐ข๐๐[r] t2 โ ๐ ก[f]t1 โก๐ข๐๐[๐ ก[f]r] ๐ ก[f]t2.
#f #t1 #t2 #r
-* #p #b #q #m #n #Hr #Hp #Hb #Hm #Hn #Ht1 #Ht2 destruct
-@(ex7_5_intro โฆ (๐ ก[f]p) (๐ ก[๐ ข[f](pโ๐)]b) (๐ ก[๐ ข[f](pโ๐โbโ๐)]q) (๐ ข[f](pโ๐โb)๏ผ โจmโฉ) (๐ ข[f](pโ๐โbโ๐โq)๏ผ ยงโจnโฉ))
-[ -Hp -Hb -Hm -Hn -Ht1 -Ht2 //
-| -Hb -Hm -Hn -Ht1 -Ht2
- /2 width=1 by lift_path_guard/
-| -Hp -Hm -Hn -Ht1 -Ht2 //
-| -Hp -Hb -Hn -Ht1 -Ht2
+* #p #b #q #m #n #Hr #Hb #Hm #Hn #Ht1 #Ht2 destruct
+@(ex6_5_intro โฆ (๐ ก[f]p) (๐ ก[๐ ข[f](pโ๐)]b) (๐ ก[๐ ข[f](pโ๐โbโ๐)]q) (๐ ข[f](pโ๐โb)๏ผ โจmโฉ) (๐ ข[f](pโ๐โbโ๐โq)๏ผ ยงโจnโฉ))
+[ -Hb -Hm -Hn -Ht1 -Ht2 //
+| -Hm -Hn -Ht1 -Ht2 //
+| -Hb -Hn -Ht1 -Ht2
/2 width=1 by lift_path_closed/
-| -Hp -Hb -Hm -Ht1 -Ht2
+| -Hb -Hm -Ht1 -Ht2
/2 width=1 by lift_path_rmap_closed_L/
-| lapply (in_comp_lift_path_term f โฆ Ht1) -Ht2 -Ht1 -Hp -Hn
+| lapply (in_comp_lift_path_term f โฆ Ht1) -Ht2 -Ht1 -Hn
<lift_path_d_dx #Ht1 //
-| lapply (lift_term_eq_repl_dx f โฆ Ht2) -Ht2 #Ht2 -Ht1 -Hp
+| 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_after โฆ))
@(subset_eq_canc_dx โฆ (lift_term_after โฆ))
@lift_term_eq_repl_sn
+(* ๐ฎโจ โ(๐ ข[f](pโ๐โb)๏ผ โจmโฉ + ๐ ข[f](pโ๐โbโ๐โq)๏ผ ยงโจnโฉ) โฉ โ ๐ ข[f]p โ ๐ ข[f](pโ๐โbโ๐โq) โ ๐ฎโจโ(m+n)โฉ *)
(* Note: crux of the proof begins *)
@(stream_eq_trans โฆ (tr_compose_uni_dx_pap โฆ)) <tr_pap_succ_nap
@tr_compose_eq_repl