X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=matita%2Fmatita%2Fcontribs%2Flambdadelta%2Fbasic_2%2Fdynamic%2Fnta_preserve.ma;h=ebc6fd96db1b50b6f73aba63dcd70f8da0c7f37d;hb=f308429a0fde273605a2330efc63268b4ac36c99;hp=ab3b33ad5675415276e73e442d97020695a87799;hpb=5c92c318030a05c766b3f6070dbd23589cbdee04;p=helm.git diff --git a/matita/matita/contribs/lambdadelta/basic_2/dynamic/nta_preserve.ma b/matita/matita/contribs/lambdadelta/basic_2/dynamic/nta_preserve.ma index ab3b33ad5..ebc6fd96d 100644 --- a/matita/matita/contribs/lambdadelta/basic_2/dynamic/nta_preserve.ma +++ b/matita/matita/contribs/lambdadelta/basic_2/dynamic/nta_preserve.ma @@ -12,8 +12,8 @@ (* *) (**************************************************************************) -include "basic_2/rt_equivalence/cpcs_cprs.ma". -include "basic_2/dynamic/cnv_preserve.ma". +include "basic_2/rt_equivalence/cpcs_cpcs.ma". +include "basic_2/dynamic/cnv_preserve_cpcs.ma". include "basic_2/dynamic/nta.ma". (* NATIVE TYPE ASSIGNMENT FOR TERMS *****************************************) @@ -31,6 +31,17 @@ elim (cnv_fwd_cpm_SO … HT) #U #HTU /4 width=2 by cnv_cpms_nta, cpm_cpms, ex_intro/ qed-. +(* Basic_1: was: ty3_typecheck *) +lemma nta_typecheck (a) (h) (G) (L): + ∀T,U. ⦃G,L⦄ ⊢ T :[a,h] U → ∃T0. ⦃G,L⦄ ⊢ ⓝU.T :[a,h] T0. +/3 width=1 by cnv_cast, cnv_nta_sn/ qed-. + +(* Basic_1: was: ty3_correct *) +(* Basic_2A1: was: ntaa_fwd_correct *) +lemma nta_fwd_correct (a) (h) (G) (L): + ∀T,U. ⦃G,L⦄ ⊢ T :[a,h] U → ∃T0. ⦃G,L⦄ ⊢ U :[a,h] T0. +/3 width=2 by nta_fwd_cnv_dx, cnv_nta_sn/ qed-. + lemma nta_pure_cnv (h) (G) (L): ∀T,U. ⦃G,L⦄ ⊢ T :*[h] U → ∀V. ⦃G,L⦄ ⊢ ⓐV.U !*[h] → ⦃G,L⦄ ⊢ ⓐV.T :*[h] ⓐV.U. @@ -40,13 +51,100 @@ elim (cnv_inv_appl … H2) #n #p #X1 #X2 #_ #HV #_ #HVX1 #HUX2 elim (cnv_cpms_conf … HU … HUX0 … HUX2) -HU -HUX2