X-Git-Url: http://matita.cs.unibo.it/gitweb/?p=helm.git;a=blobdiff_plain;f=matita%2Fmatita%2Fcontribs%2Flambdadelta%2Fbasic_2%2Fetc%2Fnta%2Fnta.etc;h=db33815a77fa151349bff20002d1e1d8f0e01768;hp=7c9fc0d69df9b66bdf2b941365e8d404e1853db5;hb=0c302a9fda708e5019e48d14c5419a8a65190745;hpb=5c92c318030a05c766b3f6070dbd23589cbdee04 diff --git a/matita/matita/contribs/lambdadelta/basic_2/etc/nta/nta.etc b/matita/matita/contribs/lambdadelta/basic_2/etc/nta/nta.etc index 7c9fc0d69..db33815a7 100644 --- a/matita/matita/contribs/lambdadelta/basic_2/etc/nta/nta.etc +++ b/matita/matita/contribs/lambdadelta/basic_2/etc/nta/nta.etc @@ -9,31 +9,12 @@ lemma nta_pure (* Basic_2A1: was: nta_inv_bind1 ntaa_inv_bind1 *) lemma nta_inv_bind_sn -| ntaa_cast: ∀L,T,U,W. ntaa h L T U → ntaa h L U W → ntaa h L (ⓝU. T) U - (* Advanced properties ******************************************************) +| ntaa_cast: ∀L,T,U,W. ntaa h L T U → ntaa h L U W → ntaa h L (ⓝU. T) U + lemma nta_cast_alt: ∀h,L,T,W,U. ⦃h, L⦄ ⊢ T : W → ⦃h, L⦄ ⊢ T : U → ⦃h, L⦄ ⊢ ⓝW.T : U. #h #L #T #W #U #HTW #HTU lapply (nta_mono … HTW … HTU) #HWU elim (nta_fwd_correct … HTU) -HTU /3 width=3/ qed. - -lemma nta_inv_cast1: ∀h,L,X,Y,U. ⦃h, L⦄ ⊢ ⓝY.X : U → ⦃h, L⦄ ⊢ X : Y ∧ L ⊢ Y ⬌* U. -/2 width=3/ qed-. - -(* Basic_1: uses: ty3_gen_cast *) -lemma nta_inv_cast_sn_old (a) (h) (G) (L) (X2): - ∀T0,T1. ⦃G,L⦄ ⊢ ⓝT1.T0 :[a,h] X2 → - ∃∃T2. ⦃G,L⦄ ⊢ T0 :[a,h] T1 & ⦃G,L⦄ ⊢ T1 :[a,h] T2 & ⦃G,L⦄ ⊢ ⓝT2.T1 ⬌*[h] X2 & ⦃G,L⦄ ⊢ X2 ![a,h]. - -(* Basic_1: was: ty3_typecheck *) -lemma nta_typecheck: ∀h,L,T,U. ⦃h, L⦄ ⊢ T : U → ∃T0. ⦃h, L⦄ ⊢ ⓝU.T : T0. -/3 width=2/ qed. - -(* Basic_1: was: ty3_correct *) -(* Basic_2A1: was: ntaa_fwd_correct *) -lemma nta_fwd_correct: ∀h,L,T,U. ⦃h, L⦄ ⊢ T : U → ∃T0. ⦃h, L⦄ ⊢ U : T0. -#h #L #T #U #H -elim (ntaa_fwd_correct … (nta_ntaa … H)) -H /3 width=2 by ntaa_nta, ex_intro/ -qed-.