X-Git-Url: http://matita.cs.unibo.it/gitweb/?p=helm.git;a=blobdiff_plain;f=matita%2Fmatita%2Fcontribs%2Flambdadelta%2Fbasic_2%2Fdynamic%2Fcnv_cpes.ma;h=3437d2629855bef48a42c12ceaa5a4729a4f1607;hp=c7da941590a5815b2a641d6ced968601c48e4405;hb=a0b7db9844126ebcdf4b5dbb586514854cef5d93;hpb=31be09cc0d040577917783e050e1d38c0daa8f01 diff --git a/matita/matita/contribs/lambdadelta/basic_2/dynamic/cnv_cpes.ma b/matita/matita/contribs/lambdadelta/basic_2/dynamic/cnv_cpes.ma index c7da94159..3437d2629 100644 --- a/matita/matita/contribs/lambdadelta/basic_2/dynamic/cnv_cpes.ma +++ b/matita/matita/contribs/lambdadelta/basic_2/dynamic/cnv_cpes.ma @@ -14,7 +14,7 @@ include "basic_2/rt_computation/cpms_cpms.ma". include "basic_2/rt_equivalence/cpes.ma". -include "basic_2/dynamic/cnv.ma". +include "basic_2/dynamic/cnv_aaa.ma". (* CONTEXT-SENSITIVE NATIVE VALIDITY FOR TERMS ******************************) @@ -46,6 +46,25 @@ elim (cnv_inv_appl … H) -H #n #p #W #U #Hn #HV #HT #HVW #HTU /3 width=7 by cpms_div, ex5_4_intro/ qed-. +lemma cnv_inv_appl_SO_cpes (a) (h) (G) (L): + ∀V,T. ⦃G, L⦄ ⊢ ⓐV.T ![a, h] → + ∃∃n,p,W,U. a = Ⓣ → n = 1 & ⦃G, L⦄ ⊢ V ![a, h] & ⦃G, L⦄ ⊢ T ![a, h] & + ⦃G, L⦄ ⊢ V ⬌*[h,1,0] W & ⦃G, L⦄ ⊢ T ➡*[n, h] ⓛ{p}W.U. +#a #h #G #L #V #T #H +elim (cnv_inv_appl_SO … H) -H #n #p #W #U #Hn #HV #HT #HVW #HTU +/3 width=7 by cpms_div, ex5_4_intro/ +qed-. + +lemma cnv_inv_appl_true_cpes (h) (G) (L): + ∀V,T. ⦃G,L⦄ ⊢ ⓐV.T ![h] → + ∃∃p,W,U. ⦃G,L⦄ ⊢ V ![h] & ⦃G,L⦄ ⊢ T ![h] & + ⦃G,L⦄ ⊢ V ⬌*[h,1,0] W & ⦃G,L⦄ ⊢ T ➡*[1,h] ⓛ{p}W.U. +#h #G #L #V #T #H +elim (cnv_inv_appl_SO_cpes … H) -H #n #p #W #U #Hn +>Hn -n [| // ] #HV #HT #HVW #HTU +/2 width=5 by ex4_3_intro/ +qed-. + lemma cnv_inv_cast_cpes (a) (h) (G) (L): ∀U,T. ⦃G, L⦄ ⊢ ⓝU.T ![a, h] → ∧∧ ⦃G, L⦄ ⊢ U ![a, h] & ⦃G, L⦄ ⊢ T ![a, h] & ⦃G, L⦄ ⊢ U ⬌*[h,0,1] T.