X-Git-Url: http://matita.cs.unibo.it/gitweb/?p=helm.git;a=blobdiff_plain;f=matita%2Fmatita%2Fcontribs%2Flambdadelta%2Fbasic_2%2Frt_computation%2Fcprs_cprs.ma;h=562b4e171b15300d86e9afc32e407b07d510f8ec;hp=aba142ab75dda014eb978f22628230ccae37d45d;hb=bd53c4e895203eb049e75434f638f26b5a161a2b;hpb=3b7b8afcb429a60d716d5226a5b6ab0d003228b1 diff --git a/matita/matita/contribs/lambdadelta/basic_2/rt_computation/cprs_cprs.ma b/matita/matita/contribs/lambdadelta/basic_2/rt_computation/cprs_cprs.ma index aba142ab7..562b4e171 100644 --- a/matita/matita/contribs/lambdadelta/basic_2/rt_computation/cprs_cprs.ma +++ b/matita/matita/contribs/lambdadelta/basic_2/rt_computation/cprs_cprs.ma @@ -39,9 +39,9 @@ qed-. (* Basic_1: was: pr3_flat *) theorem cprs_flat (h) (G) (L): - ∀T1,T2. ⦃G,L⦄ ⊢ T1 ➡*[h] T2 → - ∀V1,V2. ⦃G,L⦄ ⊢ V1 ➡*[h] V2 → - ∀I. ⦃G,L⦄ ⊢ ⓕ{I}V1.T1 ➡*[h] ⓕ{I}V2.T2. + ∀T1,T2. ❪G,L❫ ⊢ T1 ➡*[h] T2 → + ∀V1,V2. ❪G,L❫ ⊢ V1 ➡*[h] V2 → + ∀I. ❪G,L❫ ⊢ ⓕ[I]V1.T1 ➡*[h] ⓕ[I]V2.T2. #h #G #L #T1 #T2 #HT12 #V1 #V2 #H @(cprs_ind_dx … H) -V2 [ /2 width=3 by cprs_flat_dx/ | /3 width=3 by cpr_pair_sn, cprs_step_dx/ @@ -53,15 +53,15 @@ qed. (* Basic_1: was pr3_gen_appl *) (* Basic_2A1: was: cprs_inv_appl1 *) lemma cprs_inv_appl_sn (h) (G) (L): - ∀V1,T1,X2. ⦃G,L⦄ ⊢ ⓐV1.T1 ➡*[h] X2 → - ∨∨ ∃∃V2,T2. ⦃G,L⦄ ⊢ V1 ➡*[h] V2 & - ⦃G,L⦄ ⊢ T1 ➡*[h] T2 & + ∀V1,T1,X2. ❪G,L❫ ⊢ ⓐV1.T1 ➡*[h] X2 → + ∨∨ ∃∃V2,T2. ❪G,L❫ ⊢ V1 ➡*[h] V2 & + ❪G,L❫ ⊢ T1 ➡*[h] T2 & X2 = ⓐV2. T2 - | ∃∃p,W,T. ⦃G,L⦄ ⊢ T1 ➡*[h] ⓛ{p}W.T & - ⦃G,L⦄ ⊢ ⓓ{p}ⓝW.V1.T ➡*[h] X2 - | ∃∃p,V0,V2,V,T. ⦃G,L⦄ ⊢ V1 ➡*[h] V0 & ⇧*[1] V0 ≘ V2 & - ⦃G,L⦄ ⊢ T1 ➡*[h] ⓓ{p}V.T & - ⦃G,L⦄ ⊢ ⓓ{p}V.ⓐV2.T ➡*[h] X2. + | ∃∃p,W,T. ❪G,L❫ ⊢ T1 ➡*[h] ⓛ[p]W.T & + ❪G,L❫ ⊢ ⓓ[p]ⓝW.V1.T ➡*[h] X2 + | ∃∃p,V0,V2,V,T. ❪G,L❫ ⊢ V1 ➡*[h] V0 & ⇧*[1] V0 ≘ V2 & + ❪G,L❫ ⊢ T1 ➡*[h] ⓓ[p]V.T & + ❪G,L❫ ⊢ ⓓ[p]V.ⓐV2.T ➡*[h] X2. #h #G #L #V1 #T1 #X2 #H elim (cpms_inv_appl_sn … H) -H * [ /3 width=5 by or3_intro0, ex3_2_intro/ | #n1 #n2 #p #V2 #T2 #HT12 #HTX2 #H