X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=matita%2Fmatita%2Fcontribs%2Flambdadelta%2Fbasic_2%2Frt_computation%2Flfpxs_cpxs.ma;h=a5288e11a4d1bf10045e8f20ad25482e4bdfea07;hb=05b047be6817f430c8c72fd9b0902df8bb9f579e;hp=e5369c116dc10c1da7647b1e3efb47a893e50a95;hpb=1a590671c8e8551b01a6831843a22c9485d90511;p=helm.git diff --git a/matita/matita/contribs/lambdadelta/basic_2/rt_computation/lfpxs_cpxs.ma b/matita/matita/contribs/lambdadelta/basic_2/rt_computation/lfpxs_cpxs.ma index e5369c116..a5288e11a 100644 --- a/matita/matita/contribs/lambdadelta/basic_2/rt_computation/lfpxs_cpxs.ma +++ b/matita/matita/contribs/lambdadelta/basic_2/rt_computation/lfpxs_cpxs.ma @@ -15,35 +15,33 @@ include "basic_2/rt_computation/cpxs_lfpx.ma". include "basic_2/rt_computation/lfpxs_fqup.ma". -(* UNCOUNTED PARALLEL RT-COMPUTATION FOR LOCAL ENV.S ON REFERRED ENTRIES ****) +(* UNBOUND PARALLEL RT-COMPUTATION FOR LOCAL ENV.S ON REFERRED ENTRIES ******) -(* Properties with uncounted context-sensitive rt-computation for terms *****) +(* Properties with unbound context-sensitive rt-computation for terms *******) (* Basic_2A1: uses: lpxs_pair lpxs_pair_refl *) lemma lfpxs_pair_refl: ∀h,G,L,V1,V2. ⦃G, L⦄ ⊢ V1 ⬈*[h] V2 → ∀I,T. ⦃G, L.ⓑ{I}V1⦄ ⊢ ⬈*[h, T] L.ⓑ{I}V2. /2 width=1 by tc_lfxs_pair_refl/ qed. -(* Basic_2A1: uses: lpxs_cpx_trans *) lemma lfpxs_cpx_trans: ∀h,G. s_r_transitive … (cpx h G) (lfpxs h G). -#h #G @s_r_trans_LTC2 @lfpx_cpxs_trans (**) (* auto fails *) +#h #G @s_r_trans_CTC2 @lfpx_cpxs_trans (**) (* auto fails *) qed-. -(* Note: lfpxs_cpx_conf does not hold, thus we cannot invoke s_r_trans_LTC1 *) -(* Basic_2A1: uses: lpxs_cpxs_trans *) +(* Note: lfpxs_cpx_conf does not hold, thus we cannot invoke s_r_trans_CTC1 *) lemma lfpxs_cpxs_trans: ∀h,G. s_rs_transitive … (cpx h G) (lfpxs h G). -#h #G @s_r_to_s_rs_trans @s_r_trans_LTC2 +#h #G @s_r_to_s_rs_trans @s_r_trans_CTC2 @s_rs_trans_TC1 /2 width=3 by lfpx_cpxs_trans/ (**) (* full auto too slow *) qed-. -(* Advanced properties on uncounted rt-computation for terms ****************) +(* Advanced properties on unbound rt-computation for terms ******************) lemma cpxs_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=3 by lfpxs_cpxs_trans, lfpxs_pair_refl, cpxs_bind/ qed. -(* Advanced inversion lemmas on uncounted rt-computation for terms **********) +(* Advanced inversion lemmas on unbound rt-computation for terms ************) lemma cpxs_inv_abst1: ∀h,p,G,L,V1,T1,U2. ⦃G, L⦄ ⊢ ⓛ{p}V1.T1 ⬈*[h] U2 → ∃∃V2,T2. ⦃G, L⦄ ⊢ V1 ⬈*[h] V2 & ⦃G, L.ⓛV1⦄ ⊢ T1 ⬈*[h] T2 & @@ -59,7 +57,7 @@ lemma cpxs_inv_abbr1: ∀h,p,G,L,V1,T1,U2. ⦃G, L⦄ ⊢ ⓓ{p}V1.T1 ⬈*[h] U2 ∃∃V2,T2. ⦃G, L⦄ ⊢ V1 ⬈*[h] V2 & ⦃G, L.ⓓV1⦄ ⊢ T1 ⬈*[h] T2 & U2 = ⓓ{p}V2.T2 ) ∨ - ∃∃T2. ⦃G, L.ⓓV1⦄ ⊢ T1 ⬈*[h] T2 & ⬆*[1] U2 ≡ T2 & p = true. + ∃∃T2. ⦃G, L.ⓓV1⦄ ⊢ T1 ⬈*[h] T2 & ⬆*[1] U2 ≘ T2 & p = true. #h #p #G #L #V1 #T1 #U2 #H @(cpxs_ind … H) -U2 /3 width=5 by ex3_2_intro, or_introl/ #U0 #U2 #_ #HU02 * * [ #V0 #T0 #HV10 #HT10 #H destruct