X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=matita%2Fmatita%2Fcontribs%2Flambdadelta%2Fbasic_2%2Frt_transition%2Flpx_reqx.ma;h=dfd3672410eec66fc9fbf97bf3f5c497862ca145;hb=647504aa72b84eb49be8177b88a9254174e84d4b;hp=f75050ec6ef240cf3bea8880b152728c3a86d59b;hpb=3c7b4071a9ac096b02334c1d47468776b948e2de;p=helm.git diff --git a/matita/matita/contribs/lambdadelta/basic_2/rt_transition/lpx_reqx.ma b/matita/matita/contribs/lambdadelta/basic_2/rt_transition/lpx_reqx.ma index f75050ec6..dfd367241 100644 --- a/matita/matita/contribs/lambdadelta/basic_2/rt_transition/lpx_reqx.ma +++ b/matita/matita/contribs/lambdadelta/basic_2/rt_transition/lpx_reqx.ma @@ -20,13 +20,37 @@ include "basic_2/rt_transition/rpx_lpx.ma". (* Properties with sort-irrelevant equivalence for local environments *******) +lemma reqx_lpx_trans_rpx (G) (L) (T:term): + ∀L1. L1 ≛[T] L → ∀L2. ❪G,L❫ ⊢ ⬈ L2 → ❪G,L❫ ⊢ ⬈[T] L2. +/3 width=1 by lpx_rpx, reqx_rpx_trans/ qed. + (* Basic_2A1: uses: lleq_lpx_trans *) lemma reqx_lpx_trans (G): ∀L2,K2. ❪G,L2❫ ⊢ ⬈ K2 → ∀L1. ∀T:term. L1 ≛[T] L2 → ∃∃K1. ❪G,L1❫ ⊢ ⬈ K1 & K1 ≛[T] K2. #G #L2 #K2 #HLK2 #L1 #T #HL12 -lapply (lpx_rpx … T HLK2) -HLK2 #HLK2 -elim (reqx_rpx_trans … HLK2 … HL12) -L2 #K #H #HK2 -elim (rpx_inv_lpx_req … H) -H #K1 #HLK1 #HK1 -/3 width=5 by req_reqx_trans, ex2_intro/ +lapply (lpx_rpx … T … HLK2) -HLK2 #HLK2 +lapply (reqx_rpx_trans … HL12 … HLK2) -L2 #H +elim (rpx_fwd_lpx_req … H) -H #K1 #HLK1 #HK12 +/3 width=3 by req_reqx, ex2_intro/ +qed-. + +(* Inversion lemmas with sort-irrelevant equivalence for local environments *) + +lemma rpx_inv_reqx_lpx (G) (T): + ∀L1,L2. ❪G,L1❫ ⊢ ⬈[T] L2 → + ∃∃L. L1 ≛[T] L & ❪G,L❫ ⊢ ⬈ L2. +#G #T #L1 #L2 #H +elim (rpx_inv_req_lpx … H) -H #L #HL1 #HL2 +/3 width=3 by req_reqx, ex2_intro/ +qed-. + +(* Forward lemmas with sort-irrelevant equivalence for local environments ***) + +lemma rpx_fwd_lpx_reqx (G) (T): + ∀L1,L2. ❪G,L1❫ ⊢ ⬈[T] L2 → + ∃∃L. ❪G,L1❫ ⊢ ⬈ L & L ≛[T] L2. +#G #T #L1 #L2 #H +elim (rpx_fwd_lpx_req … H) -H #L #HL1 #HL2 +/3 width=3 by req_reqx, ex2_intro/ qed-.