(* Advanced properties ******************************************************)
lemma cpr_cdelta: ∀L,K,V1,W1,W2,i.
- â\86\93[0, i] L â\89¡ K. ð\9d\95\93{Abbr} V1 â\86\92 K â\8a¢ V1 [0, |L| - i - 1] â\89«* W1 â\86\92
- â\86\91[0, i + 1] W1 â\89¡ W2 â\86\92 L â\8a¢ #i â\87\92 W2.
+ â\87\93[0, i] L â\89¡ K. ð\9d\95\93{Abbr} V1 â\86\92 K â\8a¢ V1 [0, |L| - i - 1] â\89«* W1 â\86\92
+ â\87\91[0, i + 1] W1 â\89¡ W2 â\86\92 L â\8a¢ #i â\87\92 W2.
#L #K #V1 #W1 #W2 #i #HLK #HVW1 #HW12
lapply (ldrop_fwd_ldrop2_length … HLK) #Hi
@ex2_1_intro [2: // | skip | @tpss_subst /width=6/ ] (**) (* /3 width=6/ is too slow *)
(* Basic_1: was: pr2_gen_lref *)
lemma cpr_inv_lref1: ∀L,T2,i. L ⊢ #i ⇒ T2 →
T2 = #i ∨
- â\88\83â\88\83K,V1,T1. â\86\93[0, i] L â\89¡ K. ð\9d\95\93{Abbr} V1 &
+ â\88\83â\88\83K,V1,T1. â\87\93[0, i] L â\89¡ K. ð\9d\95\93{Abbr} V1 &
K ⊢ V1 [0, |L| - i - 1] ≫* T1 &
- â\86\91[0, i + 1] T1 â\89¡ T2 &
+ â\87\91[0, i + 1] T1 â\89¡ T2 &
i < |L|.
#L #T2 #i * #X #H
>(tpr_inv_atom1 … H) -H #H
(* Relocation properties ****************************************************)
(* Basic_1: was: pr2_lift *)
-lemma cpr_lift: â\88\80L,K,d,e. â\86\93[d, e] L â\89¡ K â\86\92
- â\88\80T1,U1. â\86\91[d, e] T1 â\89¡ U1 â\86\92 â\88\80T2,U2. â\86\91[d, e] T2 â\89¡ U2 â\86\92
+lemma cpr_lift: â\88\80L,K,d,e. â\87\93[d, e] L â\89¡ K â\86\92
+ â\88\80T1,U1. â\87\91[d, e] T1 â\89¡ U1 â\86\92 â\88\80T2,U2. â\87\91[d, e] T2 â\89¡ U2 â\86\92
K ⊢ T1 ⇒ T2 → L ⊢ U1 ⇒ U2.
#L #K #d #e #HLK #T1 #U1 #HTU1 #T2 #U2 #HTU2 * #T #HT1 #HT2
elim (lift_total T d e) #U #HTU
qed.
(* Basic_1: was: pr2_gen_lift *)
-lemma cpr_inv_lift: â\88\80L,K,d,e. â\86\93[d, e] L â\89¡ K â\86\92
- â\88\80T1,U1. â\86\91[d, e] T1 â\89¡ U1 â\86\92 â\88\80U2. L â\8a¢ U1 â\87\92 U2 â\86\92
- â\88\83â\88\83T2. â\86\91[d, e] T2 â\89¡ U2 & K â\8a¢ T1 â\87\92 T2.
+lemma cpr_inv_lift: â\88\80L,K,d,e. â\87\93[d, e] L â\89¡ K â\86\92
+ â\88\80T1,U1. â\87\91[d, e] T1 â\89¡ U1 â\86\92 â\88\80U2. L â\8a¢ U1 â\87\92 U2 â\86\92
+ â\88\83â\88\83T2. â\87\91[d, e] T2 â\89¡ U2 & K â\8a¢ T1 â\87\92 T2.
#L #K #d #e #HLK #T1 #U1 #HTU1 #U2 * #U #HU1 #HU2
elim (tpr_inv_lift … HU1 … HTU1) -U1 #T #HTU #T1
elim (lt_or_ge (|L|) d) #HLd