X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=matita%2Fmatita%2Fcontribs%2Flambdadelta%2Fbasic_2%2Frt_computation%2Frsx_fqup.ma;h=224ad7717ae6102f16bf3afde04f23140485cbf4;hb=3c7b4071a9ac096b02334c1d47468776b948e2de;hp=b41e150feb62b90220434212ee30883aa7c8d0e7;hpb=db020b4218272e2e35641ce3bc3b0a9b3afda899;p=helm.git diff --git a/matita/matita/contribs/lambdadelta/basic_2/rt_computation/rsx_fqup.ma b/matita/matita/contribs/lambdadelta/basic_2/rt_computation/rsx_fqup.ma index b41e150fe..224ad7717 100644 --- a/matita/matita/contribs/lambdadelta/basic_2/rt_computation/rsx_fqup.ma +++ b/matita/matita/contribs/lambdadelta/basic_2/rt_computation/rsx_fqup.ma @@ -12,16 +12,16 @@ (* *) (**************************************************************************) -include "static_2/static/rdeq_fqup.ma". +include "static_2/static/reqx_fqup.ma". include "basic_2/rt_computation/rsx.ma". -(* STRONGLY NORMALIZING REFERRED LOCAL ENV.S FOR UNBOUND RT-TRANSITION ******) +(* STRONGLY NORMALIZING REFERRED LOCAL ENVS FOR EXTENDED RT-TRANSITION ******) (* Advanced properties ******************************************************) (* Basic_2A1: uses: lsx_atom *) -lemma lfsx_atom (h) (G) (T): G ⊢ ⬈*[h,T] 𝐒⦃⋆⦄. -#h #G #T +lemma lfsx_atom (G) (T): G ⊢ ⬈*𝐒[T] ⋆. +#G #T @rsx_intro #Y #H #HnT lapply (lpx_inv_atom_sn … H) -H #H destruct elim HnT -HnT // @@ -32,19 +32,19 @@ qed. (* Basic_2A1: uses: lsx_fwd_bind_dx *) (* Note: the exclusion binder (ⓧ) makes this more elegant and much simpler *) (* Note: the old proof without the exclusion binder requires lreq *) -lemma rsx_fwd_bind_dx_void (h) (G): - ∀p,I,L,V,T. G ⊢ ⬈*[h,ⓑ{p,I}V.T] 𝐒⦃L⦄ → G ⊢ ⬈*[h,T] 𝐒⦃L.ⓧ⦄. -#h #G #p #I #L #V #T #H +lemma rsx_fwd_bind_dx_void (G): + ∀p,I,L,V,T. G ⊢ ⬈*𝐒[ⓑ[p,I]V.T] L → G ⊢ ⬈*𝐒[T] L.ⓧ. +#G #p #I #L #V #T #H @(rsx_ind … H) -L #L1 #_ #IH @rsx_intro #Y #H #HT elim (lpx_inv_unit_sn … H) -H #L2 #HL12 #H destruct -/4 width=4 by rdeq_fwd_bind_dx_void/ +/4 width=4 by reqx_fwd_bind_dx_void/ qed-. (* Advanced inversion lemmas ************************************************) (* Basic_2A1: uses: lsx_inv_bind *) -lemma rsx_inv_bind_void (h) (G): - ∀p,I,L,V,T. G ⊢ ⬈*[h,ⓑ{p,I}V.T] 𝐒⦃L⦄ → - ∧∧ G ⊢ ⬈*[h,V] 𝐒⦃L⦄ & G ⊢ ⬈*[h,T] 𝐒⦃L.ⓧ⦄. +lemma rsx_inv_bind_void (G): + ∀p,I,L,V,T. G ⊢ ⬈*𝐒[ⓑ[p,I]V.T] L → + ∧∧ G ⊢ ⬈*𝐒[V] L & G ⊢ ⬈*𝐒[T] L.ⓧ. /3 width=4 by rsx_fwd_pair_sn, rsx_fwd_bind_dx_void, conj/ qed-.