X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=matita%2Fmatita%2Fcontribs%2Flambdadelta%2Fbasic_2%2Frt_transition%2Frpx_fsle.ma;h=6d9db8b65fcf09a7fa2771db590327d2e3423712;hb=f308429a0fde273605a2330efc63268b4ac36c99;hp=05b8ba41c7ee414285fcb9c8bab8219dd5a2849d;hpb=222044da28742b24584549ba86b1805a87def070;p=helm.git diff --git a/matita/matita/contribs/lambdadelta/basic_2/rt_transition/rpx_fsle.ma b/matita/matita/contribs/lambdadelta/basic_2/rt_transition/rpx_fsle.ma index 05b8ba41c..6d9db8b65 100644 --- a/matita/matita/contribs/lambdadelta/basic_2/rt_transition/rpx_fsle.ma +++ b/matita/matita/contribs/lambdadelta/basic_2/rt_transition/rpx_fsle.ma @@ -12,9 +12,10 @@ (* *) (**************************************************************************) -include "basic_2/static/fsle_drops.ma". -include "basic_2/static/rex_fsle.ma". +include "static_2/static/fsle_drops.ma". +include "static_2/static/rex_fsle.ma". include "basic_2/rt_transition/rpx_length.ma". +include "basic_2/rt_transition/rpx_drops.ma". include "basic_2/rt_transition/rpx_fqup.ma". (* UNBOUND PARALLEL RT-TRANSITION FOR REFERRED LOCAL ENVIRONMENTS ***********) @@ -23,9 +24,9 @@ include "basic_2/rt_transition/rpx_fqup.ma". (* Note: "⦃L2, T1⦄ ⊆ ⦃L2, T0⦄" does not hold *) (* Note: Take L0 = K0.ⓓ(ⓝW.V), L2 = K0.ⓓW, T0 = #0, T1 = ⬆*[1]V *) -(* Note: This invalidates rpxs_cpx_conf: "∀h,G. s_r_confluent1 … (cpx h G) (rpxs h G)" *) -lemma rpx_cpx_conf_fsge (h) (G): ∀L0,T0,T1. ⦃G, L0⦄ ⊢ T0 ⬈[h] T1 → - ∀L2. ⦃G, L0⦄ ⊢⬈[h, T0] L2 → ⦃L2, T1⦄ ⊆ ⦃L0, T0⦄. +(* Note: This invalidates rpxs_cpx_conf: "∀h, G. s_r_confluent1 … (cpx h G) (rpxs h G)" *) +lemma rpx_cpx_conf_fsge (h) (G): ∀L0,T0,T1. ⦃G,L0⦄ ⊢ T0 ⬈[h] T1 → + ∀L2. ⦃G,L0⦄ ⊢⬈[h,T0] L2 → ⦃L2,T1⦄ ⊆ ⦃L0,T0⦄. #h #G0 #L0 #T0 @(fqup_wf_ind_eq (Ⓕ) … G0 L0 T0) -G0 -L0 -T0 #G #L #T #IH #G0 #L0 * * [ #s #HG #HL #HT #X #HX #Y #HY destruct -IH @@ -72,9 +73,10 @@ lemma rpx_cpx_conf_fsge (h) (G): ∀L0,T0,T1. ⦃G, L0⦄ ⊢ T0 ⬈[h] T1 → [ #V1 #T1 #HV01 #HT01 #H destruct lapply (rpx_fwd_length … HV0) #H0 /4 width=6 by fsle_bind_eq, fsle_fwd_pair_sn/ - | #T #HT #HXT #H1 #H2 destruct + | #T #H2T0 #HTX #H1 #H2 destruct + lapply (rpx_inv_lifts_bi … HT0 (Ⓣ) … H2T0) -HT0 [6:|*: /3 width=2 by drops_refl, drops_drop/ ] #HT lapply (rpx_fwd_length … HV0) #H0 - /3 width=8 by fsle_inv_lifts_sn/ + /5 width=6 by fsle_bind_dx_dx, fsle_lifts_dx, fqup_zeta/ ] | #I #V0 #X0 #HG #HL #HT #X #HX #Y #HY destruct elim (rex_inv_flat … HY) -HY #HV0 #HX0 @@ -131,6 +133,6 @@ lemma cpx_rex_conf (R) (h) (G): s_r_confluent1 … (cpx h G) (rex R). lemma rpx_cpx_conf (h) (G): s_r_confluent1 … (cpx h G) (rpx h G). /2 width=5 by cpx_rex_conf/ qed-. -lemma rpx_cpx_conf_fsge_dx (h) (G): ∀L0,T0,T1. ⦃G, L0⦄ ⊢ T0 ⬈[h] T1 → - ∀L2. ⦃G, L0⦄ ⊢⬈[h, T0] L2 → ⦃L2, T1⦄ ⊆ ⦃L0, T1⦄. +lemma rpx_cpx_conf_fsge_dx (h) (G): ∀L0,T0,T1. ⦃G,L0⦄ ⊢ T0 ⬈[h] T1 → + ∀L2. ⦃G,L0⦄ ⊢⬈[h,T0] L2 → ⦃L2,T1⦄ ⊆ ⦃L0,T1⦄. /3 width=5 by rpx_cpx_conf, rpx_fsge_comp/ qed-.