X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=matita%2Fmatita%2Fcontribs%2Flambdadelta%2Fbasic_2%2Fdynamic%2Fcnv_preserve_cpes.ma;h=53af95906e66e5ace9c5e17748582cf349adc462;hb=bd53c4e895203eb049e75434f638f26b5a161a2b;hp=f266bb5813fe1ba8aa6dbf88a8ecb2d62d45dc23;hpb=31be09cc0d040577917783e050e1d38c0daa8f01;p=helm.git diff --git a/matita/matita/contribs/lambdadelta/basic_2/dynamic/cnv_preserve_cpes.ma b/matita/matita/contribs/lambdadelta/basic_2/dynamic/cnv_preserve_cpes.ma index f266bb581..53af95906 100644 --- a/matita/matita/contribs/lambdadelta/basic_2/dynamic/cnv_preserve_cpes.ma +++ b/matita/matita/contribs/lambdadelta/basic_2/dynamic/cnv_preserve_cpes.ma @@ -12,41 +12,30 @@ (* *) (**************************************************************************) -include "basic_2/rt_computation/cpme_aaa.ma". -include "basic_2/rt_computation/cpre_cpre.ma". +include "basic_2/rt_computation/cpmre_aaa.ma". +include "basic_2/rt_computation/cprre_cprre.ma". include "basic_2/rt_equivalence/cpes.ma". -include "basic_2/dynamic/cnv_cpme.ma". +include "basic_2/dynamic/cnv_cpmre.ma". (* CONTEXT-SENSITIVE NATIVE VALIDITY FOR TERMS ******************************) (* Properties with t-bound rt-equivalence for terms *************************) -lemma cnv_cpes_dec (a) (h) (n1) (n2) (G) (L): - ∀T1. ⦃G,L⦄ ⊢ T1 ![a,h] → ∀T2. ⦃G,L⦄ ⊢ T2 ![a,h] → - Decidable … (⦃G,L⦄ ⊢ T1 ⬌*[h,n1,n2] T2). -#a #h #n1 #n2 #G #L #T1 #HT1 #T2 #HT2 +lemma cnv_cpes_dec (h) (a) (n1) (n2) (G) (L): + ∀T1. ❪G,L❫ ⊢ T1 ![h,a] → ∀T2. ❪G,L❫ ⊢ T2 ![h,a] → + Decidable … (❪G,L❫ ⊢ T1 ⬌*[h,n1,n2] T2). +#h #a #n1 #n2 #G #L #T1 #HT1 #T2 #HT2 elim (cnv_fwd_aaa … HT1) #A1 #HA1 elim (cnv_fwd_aaa … HT2) #A2 #HA2 -elim (cpme_total_aaa h n1 … HA1) -HA1 #U1 #HTU1 -elim (cpme_total_aaa h n2 … HA2) -HA2 #U2 #HTU2 +elim (cpmre_total_aaa h n1 … HA1) -HA1 #U1 #HTU1 +elim (cpmre_total_aaa h n2 … HA2) -HA2 #U2 #HTU2 elim (eq_term_dec U1 U2) [ #H destruct | #HnU12 ] [ cases HTU1 -HTU1 #HTU1 #_ cases HTU2 -HTU2 #HTU2 #_ /3 width=3 by cpms_div, or_introl/ | @or_intror * #T0 #HT10 #HT20 - lapply (cnv_cpme_cpms_conf … HT1 … HT10 … HTU1) -T1 #H1 - lapply (cnv_cpme_cpms_conf … HT2 … HT20 … HTU2) -T2 #H2 - /3 width=6 by cpre_mono/ + lapply (cnv_cpmre_cpms_conf … HT1 … HT10 … HTU1) -T1 #H1 + lapply (cnv_cpmre_cpms_conf … HT2 … HT20 … HTU2) -T2 #H2 + /3 width=6 by cprre_mono/ ] qed-. - -(* Advanced inversion lemmas with t-bound rt-equivalence for terms **********) - -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-.