X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=matita%2Fmatita%2Fcontribs%2Flambdadelta%2Fbasic_2%2Fdynamic%2Fsnv_aaa.ma;h=b5835bef96e14770224f3a34e631a07fcb6fbd2d;hb=874cacec64d0aab52ab1a21aad23208f52f50caf;hp=3d4761da8b15f4c1d15671ee0e3af1d161eb9add;hpb=e8998d29ab83e7b6aa495a079193705b2f6743d3;p=helm.git diff --git a/matita/matita/contribs/lambdadelta/basic_2/dynamic/snv_aaa.ma b/matita/matita/contribs/lambdadelta/basic_2/dynamic/snv_aaa.ma index 3d4761da8..b5835bef9 100644 --- a/matita/matita/contribs/lambdadelta/basic_2/dynamic/snv_aaa.ma +++ b/matita/matita/contribs/lambdadelta/basic_2/dynamic/snv_aaa.ma @@ -13,23 +13,22 @@ (**************************************************************************) include "basic_2/computation/csn_aaa.ma". -include "basic_2/computation/xprs_aaa.ma". -include "basic_2/computation/xprs_cprs.ma". +include "basic_2/computation/dxprs_aaa.ma". include "basic_2/equivalence/cpcs_aaa.ma". include "basic_2/dynamic/snv.ma". (* STRATIFIED NATIVE VALIDITY FOR TERMS *************************************) -(* Properties on atomic arity assignment for terms **************************) +(* Forward lemmas on atomic arity assignment for terms **********************) -lemma snv_aaa: ∀h,g,L,T. ⦃h, L⦄ ⊩ T :[g] → ∃A. L ⊢ T ⁝ A. +lemma snv_fwd_aaa: ∀h,g,L,T. ⦃h, L⦄ ⊢ T ¡[g] → ∃A. L ⊢ T ⁝ A. #h #g #L #T #H elim H -L -T [ /2 width=2/ | #I #L #K #V #i #HLK #_ * /3 width=6/ | #a * #L #V #T #_ #_ * #B #HV * #A #HA /3 width=2/ | #a #L #V #W #W0 #T #U #l #_ #_ #HVW #HW0 #HTU * #B #HV * #X #HT - lapply (xprs_aaa h g … HV W0 ?) [ /3 width=3/ ] -W #HW0 - lapply (xprs_aaa … HT … HTU) -HTU #H + lapply (dxprs_aaa h g … HV W0 ?) [ -HTU /3 width=4/ ] -W #HW0 (**) (* auto fail without -HTU *) + lapply (dxprs_aaa … HT … HTU) -HTU #H elim (aaa_inv_abst … H) -H #B0 #A #H1 #HU #H2 destruct lapply (aaa_mono … H1 … HW0) -W0 #H destruct /3 width=4/ | #L #W #T #U #l #_ #_ #HTU #HUW * #B #HW * #A #HT @@ -37,6 +36,6 @@ lemma snv_aaa: ∀h,g,L,T. ⦃h, L⦄ ⊩ T :[g] → ∃A. L ⊢ T ⁝ A. ] qed-. -lemma snv_csn: ∀h,g,L,T. ⦃h, L⦄ ⊩ T :[g] → L ⊢ ⬊* T. -#h #g #L #T #H elim (snv_aaa … H) -H /2 width=2/ +lemma snv_fwd_csn: ∀h,g,L,T. ⦃h, L⦄ ⊢ T ¡[g] → L ⊢ ⬊* T. +#h #g #L #T #H elim (snv_fwd_aaa … H) -H /2 width=2/ qed-.