X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=matita%2Fmatita%2Fcontribs%2Flambdadelta%2Fbasic_2%2Frt_computation%2Fcpxs_lfpx.ma;h=2b12ff4381bab155a559ee21f74dfad736af641c;hb=47a745462a714af9d65cea7b61af56524bd98fa1;hp=b54ea1582eaf871673fec61685f90743b0876c5b;hpb=cbc645186c8836c88c559c787a4deea63b7a12b0;p=helm.git diff --git a/matita/matita/contribs/lambdadelta/basic_2/rt_computation/cpxs_lfpx.ma b/matita/matita/contribs/lambdadelta/basic_2/rt_computation/cpxs_lfpx.ma index b54ea1582..2b12ff438 100644 --- a/matita/matita/contribs/lambdadelta/basic_2/rt_computation/cpxs_lfpx.ma +++ b/matita/matita/contribs/lambdadelta/basic_2/rt_computation/cpxs_lfpx.ma @@ -12,7 +12,7 @@ (* *) (**************************************************************************) -include "basic_2/rt_transition/lfpx_lfpx.ma". +include "basic_2/rt_transition/lfpx_fsle.ma". include "basic_2/rt_computation/cpxs_drops.ma". include "basic_2/rt_computation/cpxs_cpxs.ma". @@ -29,8 +29,8 @@ lemma lfpx_cpx_trans: ∀h,G. s_r_transitive … (cpx h G) (lfpx h G). | #I #G #L2 #V #V2 #W2 #_ #IH #HVW2 #Y1 #H elim (lfpx_inv_zero_pair_dx … H) -H #L1 #V1 #HL1 #HV1 #H destruct /5 width=3 by lfpx_cpx_conf, cpxs_delta, cpxs_strap2/ -| #I #G #L2 #V #V2 #W2 #i #_ #IH #HVW2 #Y1 #H - elim (lfpx_inv_lref_pair_dx … H) -H #L1 #V1 #HL1 #HV1 +| #I2 #G #L2 #V2 #W2 #i #_ #IH #HVW2 #Y1 #H + elim (lfpx_inv_lref_bind_dx … H) -H #I1 #L1 #HL1 #H destruct /4 width=3 by cpxs_lref, cpxs_strap2/ | #p #I #G #L2 #V #V2 #T #T2 #_ #_ #IHV #IHT #L1 #H elim (lfpx_inv_bind … H) -H /3 width=1 by cpxs_bind/ @@ -52,6 +52,17 @@ lemma lfpx_cpx_trans: ∀h,G. s_r_transitive … (cpx h G) (lfpx h G). qed. lemma lfpx_cpxs_trans: ∀h,G. s_rs_transitive … (cpx h G) (lfpx h G). -#h #G #L2 #T1 #T2 #H #L1 #HL12 @(cpxs_ind … H) -T2 -/4 width=7 by lfpx_cpx_trans, cpxs_trans, lfpx_cpxs_conf/ +/3 width=6 by lfpx_cpx_conf, lfpx_cpx_trans, s_r_trans_LTC1/ qed-. + +(* Advanced properties ******************************************************) + +lemma cpx_bind2: ∀h,G,L,V1,V2. ⦃G, L⦄ ⊢ V1 ⬈[h] V2 → + ∀I,T1,T2. ⦃G, L.ⓑ{I}V2⦄ ⊢ T1 ⬈[h] T2 → + ∀p. ⦃G, L⦄ ⊢ ⓑ{p,I}V1.T1 ⬈*[h] ⓑ{p,I}V2.T2. +/4 width=5 by lfpx_cpx_trans, cpxs_bind_dx, lfpx_pair_refl/ qed. + +lemma cpxs_bind2_dx: ∀h,G,L,V1,V2. ⦃G, L⦄ ⊢ V1 ⬈[h] V2 → + ∀I,T1,T2. ⦃G, L.ⓑ{I}V2⦄ ⊢ T1 ⬈*[h] T2 → + ∀p. ⦃G, L⦄ ⊢ ⓑ{p,I}V1.T1 ⬈*[h] ⓑ{p,I}V2.T2. +/4 width=5 by lfpx_cpxs_trans, cpxs_bind_dx, lfpx_pair_refl/ qed.