]> matita.cs.unibo.it Git - helm.git/blobdiff - matita/matita/contribs/lambdadelta/basic_2/dynamic/cnv_drops.ma
update in ground_2 and basic_2
[helm.git] / matita / matita / contribs / lambdadelta / basic_2 / dynamic / cnv_drops.ma
index c979465c31d3ce4d730f2c36967a96cb7009e057..e4d55446c657ab9b25fba34cd235430f0de92dba 100644 (file)
@@ -21,7 +21,7 @@ include "basic_2/dynamic/cnv.ma".
 
 (* Basic_2A1: uses: snv_lref *)
 lemma cnv_lref_drops (a) (h) (G): ∀I,K,V,i,L. ⦃G, K⦄ ⊢ V ![a, h] →
-                                  ⬇*[i] L ≘ K.ⓑ{I}V →  ⦃G, L⦄ ⊢ #i ![a, h].
+                                  ⬇*[i] L ≘ K.ⓑ{I}V → ⦃G, L⦄ ⊢ #i ![a, h].
 #a #h #G #I #K #V #i elim i -i
 [ #L #HV #H
   lapply (drops_fwd_isid … H ?) -H // #H destruct
@@ -49,6 +49,16 @@ lemma cnv_inv_lref_drops (a) (h) (G):
 ]
 qed-.
 
+(* Advanced forward lemmas **************************************************)
+
+lemma cnv_lref_fwd_drops (a) (h) (G):
+                         ∀i,L. ⦃G, L⦄ ⊢ #i ![a, h] →
+                         ∀I,K,V. ⬇*[i] L ≘ K.ⓑ{I}V → ⦃G, K⦄ ⊢ V ![a, h].
+#a #h #o #i #L #H #I #K #V #HLK
+elim (cnv_inv_lref_drops … H) -H #Z #Y #X #HLY #HX
+lapply (drops_mono … HLY … HLK) -L #H destruct //
+qed-.   
+
 (* Properties with generic slicing for local environments *******************)
 
 (* Basic_2A1: uses: snv_lift *)