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=7906406ebe0be82fefbb7d1e5bd0c2f14c02b2c9;hb=4173283e148199871d787c53c0301891deb90713;hp=2748790e7e015f41e13b7b728d0e5113e2c5db0b;hpb=ec261374a2990bebeded039a64c0be0795ad9e93;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 2748790e7..7906406eb 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/lfdeq_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,19 +32,20 @@ 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 -/4 width=4 by lfdeq_fwd_bind_dx_void/ +/4 width=4 by rdeq_fwd_bind_dx_void/ 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-.