X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=matita%2Fmatita%2Fcontribs%2Flambdadelta%2Fbasic_2%2Frt_transition%2Fcpx_drops_basic.ma;h=37551625dad494ecd0f87b1a6feb1833674c0f6d;hb=3c7b4071a9ac096b02334c1d47468776b948e2de;hp=12d23e2175ec1b34f3b9575c51b43913d6419ca3;hpb=db020b4218272e2e35641ce3bc3b0a9b3afda899;p=helm.git diff --git a/matita/matita/contribs/lambdadelta/basic_2/rt_transition/cpx_drops_basic.ma b/matita/matita/contribs/lambdadelta/basic_2/rt_transition/cpx_drops_basic.ma index 12d23e217..37551625d 100644 --- a/matita/matita/contribs/lambdadelta/basic_2/rt_transition/cpx_drops_basic.ma +++ b/matita/matita/contribs/lambdadelta/basic_2/rt_transition/cpx_drops_basic.ma @@ -15,22 +15,22 @@ include "static_2/relocation/lifts_basic.ma". include "basic_2/rt_transition/cpx_drops.ma". -(* UNBOUND CONTEXT-SENSITIVE PARALLEL RT-TRANSITION FOR TERMS ***************) +(* EXTENDED CONTEXT-SENSITIVE PARALLEL RT-TRANSITION FOR TERMS **************) (* Properties with basic relocation *****************************************) -lemma cpx_subst (h) (G) (L) (U1) (i): - ∀I,K,V. ⬇*[i] L ≘ K.ⓑ{I}V → - ∃∃U2,T2. ⦃G,L⦄ ⊢ U1 ⬈[h] U2 & ⬆[i,1] T2 ≘ U2. -#h #G #L #U1 @(fqup_wf_ind_eq (Ⓣ) … G L U1) -G -L -U1 +lemma cpx_subst (G) (L) (U1) (i): + ∀I,K,V. ⇩[i] L ≘ K.ⓑ[I]V → + ∃∃U2,T2. ❪G,L❫ ⊢ U1 ⬈ U2 & ⇧[i,1] T2 ≘ U2. +#G #L #U1 @(fqup_wf_ind_eq (Ⓣ) … G L U1) -G -L -U1 #G0 #L0 #U0 #IH #G #L * * [ #s #HG #HL #HT #i #I #K #V #_ destruct -IH /2 width=4 by lifts_sort, ex2_2_intro/ | #j #HG #HL #HT #i #I #K #V #HLK destruct -IH elim (lt_or_eq_or_gt i j) #Hij [ /3 width=4 by lifts_lref_ge_minus, cpx_refl, ex2_2_intro/ - | elim (lifts_total V (𝐔❴↑i❵)) #U2 #HU2 - elim (lifts_split_trans … HU2 (𝐔❴i❵) (𝐁❴i,1❵)) [2: @(after_basic_rc i 0) ] + | elim (lifts_total V (𝐔❨↑i❩)) #U2 #HU2 + elim (lifts_split_trans … HU2 (𝐔❨i❩) (𝐁❨i,1❩)) [2: @(after_basic_rc i 0) ] /3 width=7 by cpx_delta_drops, ex2_2_intro/ | /3 width=4 by lifts_lref_lt, cpx_refl, ex2_2_intro/ ] @@ -38,7 +38,7 @@ lemma cpx_subst (h) (G) (L) (U1) (i): /2 width=4 by lifts_gref, ex2_2_intro/ | #p #J #W1 #U1 #HG #HL #HT #i #I #K #V #HLK destruct elim (IH G L W1 … HLK) [| // ] #W2 #V2 #HW12 #HVW2 - elim (IH G (L.ⓑ{J}W1) U1 … (↑i)) [|*: /3 width=4 by drops_drop/ ] #U2 #T2 #HU12 #HTU2 + elim (IH G (L.ⓑ[J]W1) U1 … (↑i)) [|*: /3 width=4 by drops_drop/ ] #U2 #T2 #HU12 #HTU2 /3 width=9 by cpx_bind, lifts_bind, ex2_2_intro/ | #J #W1 #U1 #HG #HL #HT #i #I #K #V #HLK destruct elim (IH G L W1 … HLK) [| // ] #W2 #V2 #HW12 #HVW2