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=069323fb4fa30d9a38c9d03b9fcb8de3f3f814c3;hp=990051c3a4039a08351e6cbfcaf7a4812a5c75c1;hb=f308429a0fde273605a2330efc63268b4ac36c99;hpb=87f57ddc367303c33e19c83cd8989cd561f3185b 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 990051c3a..069323fb4 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 @@ -38,9 +38,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/ @@ -52,15 +52,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