X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;ds=sidebyside;f=matita%2Fmatita%2Fcontribs%2Flambdadelta%2Fbasic_2%2Fi_dynamic%2Fntas_nta.ma;h=68bdfd530867163f8b62c3ee610e324a778c60a4;hb=85fcff9664b400a1cf25f383505638ffe34222b6;hp=409f06b81407fdfc6f32741c21f7fe36b12e6ff9;hpb=bd53c4e895203eb049e75434f638f26b5a161a2b;p=helm.git diff --git a/matita/matita/contribs/lambdadelta/basic_2/i_dynamic/ntas_nta.ma b/matita/matita/contribs/lambdadelta/basic_2/i_dynamic/ntas_nta.ma index 409f06b81..68bdfd530 100644 --- a/matita/matita/contribs/lambdadelta/basic_2/i_dynamic/ntas_nta.ma +++ b/matita/matita/contribs/lambdadelta/basic_2/i_dynamic/ntas_nta.ma @@ -20,8 +20,8 @@ include "basic_2/i_dynamic/ntas_preserve.ma". (* Advanced properties of native validity for terms *************************) lemma cnv_appl_ntas_ge (h) (a) (G) (L): - ∀m,n. m ≤ n → ad a n → ∀V,W. ❪G,L❫ ⊢ V :[h,a] W → - ∀p,T,U. ❪G,L❫ ⊢ T :*[h,a,m] ⓛ[p]W.U → ❪G,L❫ ⊢ ⓐV.T ![h,a]. + ∀m,n. m ≤ n → ad a n → ∀V,W. ❨G,L❩ ⊢ V :[h,a] W → + ∀p,T,U. ❨G,L❩ ⊢ T :*[h,a,m] ⓛ[p]W.U → ❨G,L❩ ⊢ ⓐV.T ![h,a]. #h #a #G #L #m #n #Hmn #Hn #V #W #HVW #p #T #U #HTU elim (cnv_inv_cast … HVW) -HVW #W0 #HW #HV #HW0 #HVW0 elim HTU -HTU #U0 #H #HT #HU0 #HTU0 @@ -34,8 +34,8 @@ qed-. (* Advanced inversion lemmas of native validity for terms *******************) lemma cnv_inv_appl_ntas (h) (a) (G) (L): - ∀V,T. ❪G,L❫ ⊢ ⓐV.T ![h,a] → - ∃∃n,p,W,T,U. ad a n & ❪G,L❫ ⊢ V :[h,a] W & ❪G,L❫ ⊢ T :*[h,a,n] ⓛ[p]W.U. + ∀V,T. ❨G,L❩ ⊢ ⓐV.T ![h,a] → + ∃∃n,p,W,T,U. ad a n & ❨G,L❩ ⊢ V :[h,a] W & ❨G,L❩ ⊢ T :*[h,a,n] ⓛ[p]W.U. #h #a #G #L #V #T #H elim (cnv_inv_appl … H) -H #n #p #W #U #Hn #HV #HT #HVW #HTU /3 width=9 by cnv_cpms_nta, cnv_cpms_ntas, ex3_5_intro/ @@ -44,14 +44,14 @@ qed-. (* Properties with native type assignment for terms *************************) lemma nta_ntas (h) (a) (G) (L): - ∀T,U. ❪G,L❫ ⊢ T :[h,a] U → ❪G,L❫ ⊢ T :*[h,a,1] U. + ∀T,U. ❨G,L❩ ⊢ T :[h,a] U → ❨G,L❩ ⊢ T :*[h,a,1] U. #h #a #G #L #T #U #H elim (cnv_inv_cast … H) -H /2 width=3 by ntas_intro/ qed-. lemma ntas_step_sn (h) (a) (G) (L): - ∀T1,T. ❪G,L❫ ⊢ T1 :[h,a] T → - ∀n,T2. ❪G,L❫ ⊢ T :*[h,a,n] T2 → ❪G,L❫ ⊢ T1 :*[h,a,↑n] T2. + ∀T1,T. ❨G,L❩ ⊢ T1 :[h,a] T → + ∀n,T2. ❨G,L❩ ⊢ T :*[h,a,n] T2 → ❨G,L❩ ⊢ T1 :*[h,a,↑n] T2. #h #a #G #L #T1 #T #H #n #T2 * #X2 #HT2 #HT #H1TX2 #H2TX2 elim (cnv_inv_cast … H) -H #X1 #_ #HT1 #H1TX1 #H2TX1 elim (cnv_cpms_conf … HT … H1TX1 … H2TX2) -T