]> matita.cs.unibo.it Git - helm.git/blobdiff - matita/matita/contribs/lambda_delta/Basic_2/unfold/ldrops.ma
- lambda_delta: "conversion" and "equivalence" components started
[helm.git] / matita / matita / contribs / lambda_delta / Basic_2 / unfold / ldrops.ma
index 254006f1cd541d72dd54a480bbbcb7acc5c03398..28b9a8c7e7787ed1751a8814c0eb2d14b01ef069 100644 (file)
@@ -13,6 +13,7 @@
 (**************************************************************************)
 
 include "Basic_2/substitution/ldrop.ma".
+include "Basic_2/unfold/gr2_minus.ma".
 include "Basic_2/unfold/lifts.ma".
 
 (* GENERIC LOCAL ENVIRONMENT SLICING ****************************************)
@@ -33,6 +34,7 @@ fact ldrops_inv_nil_aux: ∀L1,L2,des. ⇩*[des] L1 ≡ L2 → des = ⟠ → L1
 #L1 #L #L2 #d #e #des #_ #_ #H destruct
 qed.
 
+(* Basic_1: was: drop1_gen_pnil *)
 lemma ldrops_inv_nil: ∀L1,L2. ⇩*[⟠] L1 ≡ L2 → L1 = L2.
 /2 width=3/ qed-.
 
@@ -45,16 +47,17 @@ fact ldrops_inv_cons_aux: ∀L1,L2,des. ⇩*[des] L1 ≡ L2 →
   /2 width=3/
 qed.
 
+(* Basic_1: was: drop1_gen_pcons *)
 lemma ldrops_inv_cons: ∀L1,L2,d,e,des. ⇩*[{d, e} :: des] L1 ≡ L2 →
                        ∃∃L. ⇩*[des] L1 ≡ L & ⇩[d, e] L ≡ L2.
 /2 width=3/ qed-.
 
 lemma ldrops_inv_skip2: ∀I,des,i,des2. des ▭ i ≡ des2 →
-                        ∀L1,K2,V2. ⇩*[des2] L1 ≡ K2. 𝕓{I} V2 →
+                        ∀L1,K2,V2. ⇩*[des2] L1 ≡ K2. {I} V2 →
                         ∃∃K1,V1,des1. des + 1 ▭ i + 1 ≡ des1 + 1 &
                                       ⇩*[des1] K1 ≡ K2 &
                                       ⇧*[des1] V2 ≡ V1 &
-                                      L1 = K1. 𝕓{I} V1.
+                                      L1 = K1. {I} V1.
 #I #des #i #des2 #H elim H -des -i -des2
 [ #i #L1 #K2 #V2 #H
   >(ldrops_inv_nil … H) -L1 /2 width=7/
@@ -72,8 +75,9 @@ qed-.
 
 (* Basic properties *********************************************************)
 
+(* Basic_1: was: drop1_skip_bind *)
 lemma ldrops_skip: ∀L1,L2,des. ⇩*[des] L1 ≡ L2 → ∀V1,V2. ⇧*[des] V2 ≡ V1 →
-                   ∀I. ⇩*[des + 1] L1. 𝕓{I} V1 ≡ L2. 𝕓{I} V2.
+                   ∀I. ⇩*[des + 1] L1. ⓑ{I} V1 ≡ L2. ⓑ{I} V2.
 #L1 #L2 #des #H elim H -L1 -L2 -des
 [ #L #V1 #V2 #HV12 #I
   >(lifts_inv_nil … HV12) -HV12 //