X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=matita%2Fmatita%2Fcontribs%2Flambdadelta%2Fbasic_2%2Frt_computation%2Frdsx_fqup.ma;h=38293606cb5e6fe25da73b78e9275b6b0fea71db;hb=b4283c079ed7069016b8d924bbc7e08872440829;hp=6216111e0fe102246d322a73c436f0de44858559;hpb=222044da28742b24584549ba86b1805a87def070;p=helm.git diff --git a/matita/matita/contribs/lambdadelta/basic_2/rt_computation/rdsx_fqup.ma b/matita/matita/contribs/lambdadelta/basic_2/rt_computation/rdsx_fqup.ma index 6216111e0..38293606c 100644 --- a/matita/matita/contribs/lambdadelta/basic_2/rt_computation/rdsx_fqup.ma +++ b/matita/matita/contribs/lambdadelta/basic_2/rt_computation/rdsx_fqup.ma @@ -12,7 +12,7 @@ (* *) (**************************************************************************) -include "basic_2/static/rdeq_fqup.ma". +include "static_2/static/rdeq_fqup.ma". include "basic_2/rt_computation/rdsx.ma". (* STRONGLY NORMALIZING REFERRED LOCAL ENV.S FOR UNBOUND RT-TRANSITION ******) @@ -20,8 +20,8 @@ include "basic_2/rt_computation/rdsx.ma". (* Advanced properties ******************************************************) (* Basic_2A1: uses: lsx_atom *) -lemma lfsx_atom (h) (o) (G) (T): G ⊢ ⬈*[h, o, T] 𝐒⦃⋆⦄. -#h #o #G #T +lemma lfsx_atom (h) (G) (T): G ⊢ ⬈*[h,T] 𝐒⦃⋆⦄. +#h #G #T @rdsx_intro #Y #H #HnT lapply (lpx_inv_atom_sn … H) -H #H destruct elim HnT -HnT // @@ -32,10 +32,10 @@ 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 rdsx_fwd_bind_dx (h) (o) (G): - ∀p,I,L,V,T. G ⊢ ⬈*[h, o, ⓑ{p,I}V.T] 𝐒⦃L⦄ → - G ⊢ ⬈*[h, o, T] 𝐒⦃L.ⓧ⦄. -#h #o #G #p #I #L #V #T #H +lemma rdsx_fwd_bind_dx (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 @(rdsx_ind … H) -L #L1 #_ #IH @rdsx_intro #Y #H #HT elim (lpx_inv_unit_sn … H) -H #L2 #HL12 #H destruct @@ -45,6 +45,7 @@ qed-. (* Advanced inversion lemmas ************************************************) (* Basic_2A1: uses: lsx_inv_bind *) -lemma rdsx_inv_bind (h) (o) (G): ∀p,I,L,V,T. G ⊢ ⬈*[h, o, ⓑ{p,I}V.T] 𝐒⦃L⦄ → - ∧∧ G ⊢ ⬈*[h, o, V] 𝐒⦃L⦄ & G ⊢ ⬈*[h, o, T] 𝐒⦃L.ⓧ⦄. +lemma rdsx_inv_bind (h) (G): + ∀p,I,L,V,T. G ⊢ ⬈*[h,ⓑ{p,I}V.T] 𝐒⦃L⦄ → + ∧∧ G ⊢ ⬈*[h,V] 𝐒⦃L⦄ & G ⊢ ⬈*[h,T] 𝐒⦃L.ⓧ⦄. /3 width=4 by rdsx_fwd_pair_sn, rdsx_fwd_bind_dx, conj/ qed-.