X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=matita%2Fmatita%2Fcontribs%2Flambdadelta%2Fbasic_2%2Frt_computation%2Flfsx.ma;h=2311f424c1a02f8890e84b7fa5aeb48728fb8011;hb=d0e3208d69d24a9dc9e066e381f1601bc8e109be;hp=51596c44ec4fb87958468d7f14c43492bd6f46fd;hpb=5224d5d0ff327a2360c9acd282af66ceed8788fc;p=helm.git diff --git a/matita/matita/contribs/lambdadelta/basic_2/rt_computation/lfsx.ma b/matita/matita/contribs/lambdadelta/basic_2/rt_computation/lfsx.ma index 51596c44e..2311f424c 100644 --- a/matita/matita/contribs/lambdadelta/basic_2/rt_computation/lfsx.ma +++ b/matita/matita/contribs/lambdadelta/basic_2/rt_computation/lfsx.ma @@ -45,56 +45,27 @@ lemma lfsx_intro: ∀h,o,G,L1,T. (∀L2. ⦃G, L1⦄ ⊢ ⬈[h, T] L2 → (L1 ≡[h, o, T] L2 → ⊥) → G ⊢ ⬈*[h, o, T] 𝐒⦃L2⦄) → G ⊢ ⬈*[h, o, T] 𝐒⦃L1⦄. /5 width=1 by lfdeq_sym, SN_intro/ qed. -(* + +(* Basic_2A1: was: lsx_sort *) lemma lfsx_sort: ∀h,o,G,L,s. G ⊢ ⬈*[h, o, ⋆s] 𝐒⦃L⦄. #h #o #G #L1 #s @lfsx_intro #L2 #H #Hs elim Hs -Hs elim (lfpx_inv_sort … H) -H * [ #H1 #H2 destruct // -| #I #K1 #K2 #V1 #V2 #HK12 #H1 #H2 destruct - @lfdeq_sort +| #I #K1 #K2 #V1 #V2 #HK12 #H1 #H2 destruct + /4 width=4 by lfdeq_sort, lfxs_isid, frees_sort_gen, frees_inv_sort/ +] qed. -lemma lfsx_gref: ∀h,o,G,L,l,p. G ⊢ ⬈*[h, o, §p, l] L. -#h #o #G #L1 #l #p @lfsx_intro -#L2 #HL12 #H elim H -H -/3 width=4 by lfpx_fwd_length, lfdeq_gref/ +(* Basic_2A1: was: lsx_gref *) +lemma lfsx_gref: ∀h,o,G,L,p. G ⊢ ⬈*[h, o, §p] 𝐒⦃L⦄. +#h #o #G #L1 #s @lfsx_intro +#L2 #H #Hs elim Hs -Hs elim (lfpx_inv_gref … H) -H * +[ #H1 #H2 destruct // +| #I #K1 #K2 #V1 #V2 #HK12 #H1 #H2 destruct + /4 width=4 by lfdeq_gref, lfxs_isid, frees_gref_gen, frees_inv_gref/ +] qed. -(* Basic forward lemmas *****************************************************) - -lemma lfsx_fwd_bind_sn: ∀h,o,a,I,G,L,V,T,l. G ⊢ ⬈*[h, o, ⓑ{a,I}V.T, l] L → - G ⊢ ⬈*[h, o, V, l] L. -#h #o #a #I #G #L #V #T #l #H @(lfsx_ind … H) -L -#L1 #_ #IHL1 @lfsx_intro -#L2 #HL12 #HV @IHL1 /3 width=4 by lfdeq_fwd_bind_sn/ -qed-. - -lemma lfsx_fwd_flat_sn: ∀h,o,I,G,L,V,T,l. G ⊢ ⬈*[h, o, ⓕ{I}V.T, l] L → - G ⊢ ⬈*[h, o, V, l] L. -#h #o #I #G #L #V #T #l #H @(lfsx_ind … H) -L -#L1 #_ #IHL1 @lfsx_intro -#L2 #HL12 #HV @IHL1 /3 width=3 by lfdeq_fwd_flat_sn/ -qed-. - -lemma lfsx_fwd_flat_dx: ∀h,o,I,G,L,V,T,l. G ⊢ ⬈*[h, o, ⓕ{I}V.T, l] L → - G ⊢ ⬈*[h, o, T, l] L. -#h #o #I #G #L #V #T #l #H @(lfsx_ind … H) -L -#L1 #_ #IHL1 @lfsx_intro -#L2 #HL12 #HV @IHL1 /3 width=3 by lfdeq_fwd_flat_dx/ -qed-. - -lemma lfsx_fwd_pair_sn: ∀h,o,I,G,L,V,T,l. G ⊢ ⬈*[h, o, ②{I}V.T, l] L → - G ⊢ ⬈*[h, o, V, l] L. -#h #o * /2 width=4 by lfsx_fwd_bind_sn, lfsx_fwd_flat_sn/ -qed-. - -(* Basic inversion lemmas ***************************************************) - -lemma lfsx_inv_flat: ∀h,o,I,G,L,V,T,l. G ⊢ ⬈*[h, o, ⓕ{I}V.T, l] L → - G ⊢ ⬈*[h, o, V, l] L ∧ G ⊢ ⬈*[h, o, T, l] L. -/3 width=3 by lfsx_fwd_flat_sn, lfsx_fwd_flat_dx, conj/ qed-. - -(* Basic_2A1: removed theorems 5: - lsx_atom lsx_sort lsx_gref lsx_ge_up lsx_ge -*) +(* Basic_2A1: removed theorems 2: + lsx_ge_up lsx_ge *)