X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=matita%2Fmatita%2Fcontribs%2Flambda_delta%2Fbasic_2%2Freducibility%2Fxpr_lift.ma;fp=matita%2Fmatita%2Fcontribs%2Flambda_delta%2Fbasic_2%2Freducibility%2Fxpr_lift.ma;h=8f5deca516e704b98776d23672fc814f37641d61;hb=f7386d0b74f935f07ede4be46d0489a233d68b85;hp=1f2bdb130e81b83776f4ac56e449bce0f651bae6;hpb=1f1ea7bb9e6c34626bcabd4c0142fcde98bcbbe5;p=helm.git diff --git a/matita/matita/contribs/lambda_delta/basic_2/reducibility/xpr_lift.ma b/matita/matita/contribs/lambda_delta/basic_2/reducibility/xpr_lift.ma index 1f2bdb130..8f5deca51 100644 --- a/matita/matita/contribs/lambda_delta/basic_2/reducibility/xpr_lift.ma +++ b/matita/matita/contribs/lambda_delta/basic_2/reducibility/xpr_lift.ma @@ -20,12 +20,12 @@ include "basic_2/reducibility/xpr.ma". (* Advanced inversion lemmas ************************************************) -lemma xpr_inv_abst1: ∀h,g,a,L,V1,T1,U2. ⦃h, L⦄ ⊢ ⓛ{a}V1.T1 ➸[g] U2 → - ∃∃V2,T2. L ⊢ V1 ➡ V2 & ⦃h, L. ⓛV1⦄ ⊢ T1 ➸[g] T2 & +lemma xpr_inv_abst1: ∀h,g,a,L,V1,T1,U2. ⦃h, L⦄ ⊢ ⓛ{a}V1.T1 •➡[g] U2 → + ∃∃V2,T2. L ⊢ V1 ➡ V2 & ⦃h, L. ⓛV1⦄ ⊢ T1 •➡[g] T2 & U2 = ⓛ{a}V2. T2. #h #g #a #L #V1 #T1 #U2 * [ #H elim (cpr_inv_abst1 … H Abst V1) /3 width=5/ -| * #l #H elim (ssta_inv_bind1 … H) /3 width=5/ +| #l #H elim (ssta_inv_bind1 … H) /3 width=5/ ] qed-. @@ -33,15 +33,15 @@ qed-. lemma xpr_lift: ∀L,K,d,e. ⇩[d, e] L ≡ K → ∀T1,U1. ⇧[d, e] T1 ≡ U1 → ∀T2,U2. ⇧[d, e] T2 ≡ U2 → - ∀h,g. ⦃h, K⦄ ⊢ T1 ➸[g] T2 → ⦃h, L⦄ ⊢ U1 ➸[g] U2. -#L #K #d #e #HLK #T1 #U1 #HTU1 #T2 #U2 #HTU2 #h #g * [2: * ] + ∀h,g. ⦃h, K⦄ ⊢ T1 •➡[g] T2 → ⦃h, L⦄ ⊢ U1 •➡[g] U2. +#L #K #d #e #HLK #T1 #U1 #HTU1 #T2 #U2 #HTU2 #h #g * /3 width=9/ /3 width=10/ qed. lemma xpr_inv_lift1: ∀L,K,d,e. ⇩[d, e] L ≡ K → - ∀T1,U1. ⇧[d, e] T1 ≡ U1 → ∀h,g,U2. ⦃h, L⦄ ⊢ U1 ➸[g] U2 → - ∃∃T2. ⇧[d, e] T2 ≡ U2 & ⦃h, K⦄ ⊢ T1 ➸[g] T2. -#L #K #d #e #HLK #T1 #U1 #HTU1 #h #g #U2 * [ #HU12 | * #l #HU12 ] + ∀T1,U1. ⇧[d, e] T1 ≡ U1 → ∀h,g,U2. ⦃h, L⦄ ⊢ U1 •➡[g] U2 → + ∃∃T2. ⇧[d, e] T2 ≡ U2 & ⦃h, K⦄ ⊢ T1 •➡[g] T2. +#L #K #d #e #HLK #T1 #U1 #HTU1 #h #g #U2 * [ #HU12 | #l #HU12 ] [ elim (cpr_inv_lift1 … HLK … HTU1 … HU12) -L -U1 /3 width=3/ | elim (ssta_inv_lift1 … HU12 … HLK … HTU1) -L -U1 /3 width=4/ ]