X-Git-Url: http://matita.cs.unibo.it/gitweb/?p=helm.git;a=blobdiff_plain;f=matita%2Fmatita%2Fcontribs%2Flambdadelta%2Fbasic_2%2Fdynamic%2Fcnv_drops.ma;h=7bcc3f1fc539b5aab68a86deb14be2ac254b0335;hp=8c95ffcf6db0a002ee1878780d11743528c1c8a8;hb=31be09cc0d040577917783e050e1d38c0daa8f01;hpb=bf2b1df641df98a3b614a8c3d53edee8beb0964a 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 8c95ffcf6..7bcc3f1fc 100644 --- a/matita/matita/contribs/lambdadelta/basic_2/dynamic/cnv_drops.ma +++ b/matita/matita/contribs/lambdadelta/basic_2/dynamic/cnv_drops.ma @@ -49,15 +49,30 @@ 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 +lemma cnv_inv_lref_pair (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 #G #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-. +qed-. + +lemma cnv_inv_lref_atom (a) (h) (b) (G): + ∀i,L. ⦃G, L⦄ ⊢ #i ![a, h] → + ⬇*[b,𝐔❴i❵] L ≘ ⋆ → ⊥. +#a #h #b #G #i #L #H #Hi +elim (cnv_inv_lref_drops … H) -H #Z #Y #X #HLY #_ +lapply (drops_gen b … HLY) -HLY #HLY +lapply (drops_mono … HLY … Hi) -L #H destruct +qed-. + +lemma cnv_inv_lref_unit (a) (h) (G): + ∀i,L. ⦃G, L⦄ ⊢ #i ![a, h] → + ∀I,K. ⬇*[i] L ≘ K.ⓤ{I} → ⊥. +#a #h #G #i #L #H #I #K #HLK +elim (cnv_inv_lref_drops … H) -H #Z #Y #X #HLY #_ +lapply (drops_mono … HLY … HLK) -L #H destruct +qed-. (* Properties with generic slicing for local environments *******************)