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=d9eedf3b8cfb8c2cd0ed8e838dc628978c9079f6;hp=abd60ec8df33c9e0c8058cbda856eaa318b7d2ad;hb=ca7327c20c6031829fade8bb84a3a1bb66113f54;hpb=25c634037771dff0138e5e8e3d4378183ff49b86 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 abd60ec8d..d9eedf3b8 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,0] T2 → + ∀V1,V2. ❪G,L❫ ⊢ V1 ➡*[h,0] V2 → + ∀I. ❪G,L❫ ⊢ ⓕ[I]V1.T1 ➡*[h,0] ⓕ[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,0] X2 → + ∨∨ ∃∃V2,T2. ❪G,L❫ ⊢ V1 ➡*[h,0] V2 & + ❪G,L❫ ⊢ T1 ➡*[h,0] 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,0] ⓛ[p]W.T & + ❪G,L❫ ⊢ ⓓ[p]ⓝW.V1.T ➡*[h,0] X2 + | ∃∃p,V0,V2,V,T. ❪G,L❫ ⊢ V1 ➡*[h,0] V0 & ⇧[1] V0 ≘ V2 & + ❪G,L❫ ⊢ T1 ➡*[h,0] ⓓ[p]V.T & + ❪G,L❫ ⊢ ⓓ[p]V.ⓐV2.T ➡*[h,0] 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