X-Git-Url: http://matita.cs.unibo.it/gitweb/?p=helm.git;a=blobdiff_plain;f=matita%2Fmatita%2Fcontribs%2Flambdadelta%2Fbasic_2%2Frt_transition%2Fcnr.ma;h=8d50d4d4d38bd175e9d67e8e4976af5011eaef20;hp=aa739d6785caccf472c3387bdd7e9563db65a1ff;hb=bd53c4e895203eb049e75434f638f26b5a161a2b;hpb=3b7b8afcb429a60d716d5226a5b6ab0d003228b1 diff --git a/matita/matita/contribs/lambdadelta/basic_2/rt_transition/cnr.ma b/matita/matita/contribs/lambdadelta/basic_2/rt_transition/cnr.ma index aa739d678..8d50d4d4d 100644 --- a/matita/matita/contribs/lambdadelta/basic_2/rt_transition/cnr.ma +++ b/matita/matita/contribs/lambdadelta/basic_2/rt_transition/cnr.ma @@ -26,16 +26,16 @@ interpretation (* Basic inversion lemmas ***************************************************) lemma cnr_inv_abst (h) (p) (G) (L): - ∀V,T. ⦃G,L⦄ ⊢ ➡[h] 𝐍⦃ⓛ{p}V.T⦄ → ∧∧ ⦃G,L⦄ ⊢ ➡[h] 𝐍⦃V⦄ & ⦃G,L.ⓛV⦄ ⊢ ➡[h] 𝐍⦃T⦄. + ∀V,T. ❪G,L❫ ⊢ ➡[h] 𝐍❪ⓛ[p]V.T❫ → ∧∧ ❪G,L❫ ⊢ ➡[h] 𝐍❪V❫ & ❪G,L.ⓛV❫ ⊢ ➡[h] 𝐍❪T❫. #h #p #G #L #V1 #T1 #HVT1 @conj -[ #V2 #HV2 lapply (HVT1 (ⓛ{p}V2.T1) ?) -HVT1 /2 width=2 by cpr_pair_sn/ -HV2 #H destruct // -| #T2 #HT2 lapply (HVT1 (ⓛ{p}V1.T2) ?) -HVT1 /2 width=2 by cpm_bind/ -HT2 #H destruct // +[ #V2 #HV2 lapply (HVT1 (ⓛ[p]V2.T1) ?) -HVT1 /2 width=2 by cpr_pair_sn/ -HV2 #H destruct // +| #T2 #HT2 lapply (HVT1 (ⓛ[p]V1.T2) ?) -HVT1 /2 width=2 by cpm_bind/ -HT2 #H destruct // ] qed-. (* Basic_2A1: was: cnr_inv_abbr *) lemma cnr_inv_abbr_neg (h) (G) (L): - ∀V,T. ⦃G,L⦄ ⊢ ➡[h] 𝐍⦃-ⓓV.T⦄ → ∧∧ ⦃G,L⦄ ⊢ ➡[h] 𝐍⦃V⦄ & ⦃G,L.ⓓV⦄ ⊢ ➡[h] 𝐍⦃T⦄. + ∀V,T. ❪G,L❫ ⊢ ➡[h] 𝐍❪-ⓓV.T❫ → ∧∧ ❪G,L❫ ⊢ ➡[h] 𝐍❪V❫ & ❪G,L.ⓓV❫ ⊢ ➡[h] 𝐍❪T❫. #h #G #L #V1 #T1 #HVT1 @conj [ #V2 #HV2 lapply (HVT1 (-ⓓV2.T1) ?) -HVT1 /2 width=2 by cpr_pair_sn/ -HV2 #H destruct // | #T2 #HT2 lapply (HVT1 (-ⓓV1.T2) ?) -HVT1 /2 width=2 by cpm_bind/ -HT2 #H destruct // @@ -43,7 +43,7 @@ lemma cnr_inv_abbr_neg (h) (G) (L): qed-. (* Basic_2A1: was: cnr_inv_eps *) -lemma cnr_inv_cast (h) (G) (L): ∀V,T. ⦃G,L⦄ ⊢ ➡[h] 𝐍⦃ⓝV.T⦄ → ⊥. +lemma cnr_inv_cast (h) (G) (L): ∀V,T. ❪G,L❫ ⊢ ➡[h] 𝐍❪ⓝV.T❫ → ⊥. #h #G #L #V #T #H lapply (H T ?) -H /2 width=4 by cpm_eps, discr_tpair_xy_y/ qed-. @@ -51,26 +51,26 @@ qed-. (* Basic properties *********************************************************) (* Basic_1: was: nf2_sort *) -lemma cnr_sort (h) (G) (L): ∀s. ⦃G,L⦄ ⊢ ➡[h] 𝐍⦃⋆s⦄. +lemma cnr_sort (h) (G) (L): ∀s. ❪G,L❫ ⊢ ➡[h] 𝐍❪⋆s❫. #h #G #L #s #X #H >(cpr_inv_sort1 … H) // qed. -lemma cnr_gref (h) (G) (L): ∀l. ⦃G,L⦄ ⊢ ➡[h] 𝐍⦃§l⦄. +lemma cnr_gref (h) (G) (L): ∀l. ❪G,L❫ ⊢ ➡[h] 𝐍❪§l❫. #h #G #L #l #X #H >(cpr_inv_gref1 … H) // qed. (* Basic_1: was: nf2_abst *) lemma cnr_abst (h) (p) (G) (L): - ∀W,T. ⦃G,L⦄ ⊢ ➡[h] 𝐍⦃W⦄ → ⦃G,L.ⓛW⦄ ⊢ ➡[h] 𝐍⦃T⦄ → ⦃G,L⦄ ⊢ ➡[h] 𝐍⦃ⓛ{p}W.T⦄. + ∀W,T. ❪G,L❫ ⊢ ➡[h] 𝐍❪W❫ → ❪G,L.ⓛW❫ ⊢ ➡[h] 𝐍❪T❫ → ❪G,L❫ ⊢ ➡[h] 𝐍❪ⓛ[p]W.T❫. #h #p #G #L #W #T #HW #HT #X #H elim (cpm_inv_abst1 … H) -H #W0 #T0 #HW0 #HT0 #H destruct <(HW … HW0) -W0 <(HT … HT0) -T0 // qed. lemma cnr_abbr_neg (h) (G) (L): - ∀V,T. ⦃G,L⦄ ⊢ ➡[h] 𝐍⦃V⦄ → ⦃G,L.ⓓV⦄ ⊢ ➡[h] 𝐍⦃T⦄ → ⦃G,L⦄ ⊢ ➡[h] 𝐍⦃-ⓓV.T⦄. + ∀V,T. ❪G,L❫ ⊢ ➡[h] 𝐍❪V❫ → ❪G,L.ⓓV❫ ⊢ ➡[h] 𝐍❪T❫ → ❪G,L❫ ⊢ ➡[h] 𝐍❪-ⓓV.T❫. #h #G #L #V #T #HV #HT #X #H elim (cpm_inv_abbr1 … H) -H * [ #V0 #T0 #HV0 #HT0 #H destruct