X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=matita%2Fmatita%2Fcontribs%2Flambdadelta%2Fbasic_2%2Fdynamic%2Fcnv_drops.ma;h=e4d55446c657ab9b25fba34cd235430f0de92dba;hb=ede00573e3e4cb28df7ca9a5dae6228c2b432608;hp=cebadeb670e21481452780177946baa00eef3d41;hpb=282511a928532676813d99d08594cd5f98fcb80e;p=helm.git diff --git a/matita/matita/contribs/lambdadelta/basic_2/dynamic/cnv_drops.ma b/matita/matita/contribs/lambdadelta/basic_2/dynamic/cnv_drops.ma index cebadeb67..e4d55446c 100644 --- a/matita/matita/contribs/lambdadelta/basic_2/dynamic/cnv_drops.ma +++ b/matita/matita/contribs/lambdadelta/basic_2/dynamic/cnv_drops.ma @@ -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,10 +49,20 @@ 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 *) -lemma csv_lifts (a) (h): ∀G. d_liftable1 (cnv a h G). +lemma cnv_lifts (a) (h): ∀G. d_liftable1 (cnv a h G). #a #h #G #K #T @(fqup_wf_ind_eq (Ⓣ) … G K T) -G -K -T #G0 #K0 #T0 #IH #G #K * * [|||| * ] [ #s #HG #HK #HT #_ #b #f #L #_ #X #H2 destruct