]> matita.cs.unibo.it Git - helm.git/blobdiff - matita/matita/contribs/lambda_delta/basic_2/substitution/ldrop_sfr.ma
- predefined_virtuals: an addition
[helm.git] / matita / matita / contribs / lambda_delta / basic_2 / substitution / ldrop_sfr.ma
index d8b00df1d9dba8512b4d24fd60be52406a7cade3..78a15d70dcdc6731047d8e8a7f4cf1aae80bb9b1 100644 (file)
@@ -20,7 +20,7 @@ include "basic_2/substitution/ldrop_ldrop.ma".
 (* Inversion lemmas about local env. full refinement for substitution *******)
 
 (* Note: ldrop_ldrop not needed *)
-lemma sfr_inv_ldrop: â\88\80I,L,K,V,i. â\87©[0, i] L â\89¡ K. â\93\91{I}V â\86\92 â\88\80d,e. â\89¼ [d, e] L →
+lemma sfr_inv_ldrop: â\88\80I,L,K,V,i. â\87©[0, i] L â\89¡ K. â\93\91{I}V â\86\92 â\88\80d,e. â\89½ [d, e] L →
                      d ≤ i → i < d + e → I = Abbr.
 #I #L elim L -L
 [ #K #V #i #H
@@ -30,7 +30,7 @@ lemma sfr_inv_ldrop: ∀I,L,K,V,i. ⇩[0, i] L ≡ K. ⓑ{I}V → ∀d,e. ≼ [d
   [ -IHL #H1 #H2 #d #e #HL #Hdi #Hide destruct
     lapply (le_n_O_to_eq … Hdi) -Hdi #H destruct
     lapply (HL … (L.ⓓW) ?) -HL /2 width=1/ #H
-    elim (lsubs_inv_abbr1 … H ?) -H // -Hide #K #_ #H destruct //
+    elim (lsubs_inv_abbr2 … H ?) -H // -Hide #K #_ #H destruct //
   | #Hi #HLK #d @(nat_ind_plus … d) -d
     [ #e #H #_ #Hide
       elim (sfr_inv_bind … H ?) -H [2: /2 width=2/ ] #HL #H destruct
@@ -48,7 +48,7 @@ qed-.
 (* Note: ldrop_ldrop not needed *)
 lemma sfr_ldrop: ∀L,d,e.
                  (∀I,K,V,i. d ≤ i → i < d + e → ⇩[0, i] L ≡ K. ⓑ{I}V → I = Abbr) →
-                 â\89¼ [d, e] L.
+                 â\89½ [d, e] L.
 #L elim L -L //
 #L #I #V #IHL #d @(nat_ind_plus … d) -d
 [ #e @(nat_ind_plus … e) -e //
@@ -58,8 +58,8 @@ lemma sfr_ldrop: ∀L,d,e.
 ]
 qed.
 
-lemma sfr_ldrop_trans_le: â\88\80L1,L2,d,e. â\87©[d, e] L1 â\89¡ L2 â\86\92 â\88\80dd,ee. â\89¼ [dd, ee] L1 → 
-                          dd + ee â\89¤ d â\86\92 â\89¼ [dd, ee] L2.
+lemma sfr_ldrop_trans_le: â\88\80L1,L2,d,e. â\87©[d, e] L1 â\89¡ L2 â\86\92 â\88\80dd,ee. â\89½ [dd, ee] L1 → 
+                          dd + ee â\89¤ d â\86\92 â\89½ [dd, ee] L2.
 #L1 #L2 #d #e #HL12 #dd #ee #HL1 #Hddee
 @sfr_ldrop #I #K2 #V2 #i #Hddi #Hiddee #HLK2
 lapply (lt_to_le_to_lt … Hiddee Hddee) -Hddee #Hid
@@ -69,9 +69,9 @@ elim (ldrop_inv_skip2 … H ?) -H /2 width=1/ -Hid #K1 #V1 #HK12 #HV21 #H destru
 qed.
 
 lemma sfr_ldrop_trans_be_up: ∀L1,L2,d,e. ⇩[d, e] L1 ≡ L2 →
-                             â\88\80dd,ee. â\89¼ [dd, ee] L1 →
+                             â\88\80dd,ee. â\89½ [dd, ee] L1 →
                              dd ≤ d + e → d + e ≤ dd + ee →
-                             â\89¼ [d, dd + ee - d - e] L2.
+                             â\89½ [d, dd + ee - d - e] L2.
 #L1 #L2 #d #e #HL12 #dd #ee #HL1 #Hdde #Hddee
 @sfr_ldrop #I #K2 #V2 #i #Hdi #Hiddee #HLK2
 lapply (transitive_le ? ? (i+e)… Hdde ?) -Hdde /2 width=1/ #Hddie
@@ -80,8 +80,8 @@ lapply (ldrop_trans_ge … HL12 … HLK2 ?) -L2 // -Hdi  #HL1K2
 @(sfr_inv_ldrop … HL1K2 … HL1) -L1 >commutative_plus // -Hddie /2 width=1/
 qed.
 
-lemma sfr_ldrop_trans_ge: â\88\80L1,L2,d,e. â\87©[d, e] L1 â\89¡ L2 â\86\92 â\88\80dd,ee. â\89¼ [dd, ee] L1 → 
-                          d + e â\89¤ dd â\86\92 â\89¼ [dd - e, ee] L2.
+lemma sfr_ldrop_trans_ge: â\88\80L1,L2,d,e. â\87©[d, e] L1 â\89¡ L2 â\86\92 â\88\80dd,ee. â\89½ [dd, ee] L1 → 
+                          d + e â\89¤ dd â\86\92 â\89½ [dd - e, ee] L2.
 #L1 #L2 #d #e #HL12 #dd #ee #HL1 #Hddee
 @sfr_ldrop #I #K2 #V2 #i #Hddi #Hiddee #HLK2
 elim (le_inv_plus_l … Hddee) -Hddee #Hdde #Hedd