X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=matita%2Fmatita%2Fcontribs%2Flambdadelta%2Fbasic_2%2Frt_computation%2Flpxs_reqx.ma;h=886c4dffbbb72af5e83efd2fdd546e3092996e7b;hb=3c7b4071a9ac096b02334c1d47468776b948e2de;hp=29deb02390f28d93936f637b0d4a2a3a8c8b47fb;hpb=bd53c4e895203eb049e75434f638f26b5a161a2b;p=helm.git diff --git a/matita/matita/contribs/lambdadelta/basic_2/rt_computation/lpxs_reqx.ma b/matita/matita/contribs/lambdadelta/basic_2/rt_computation/lpxs_reqx.ma index 29deb0239..886c4dffb 100644 --- a/matita/matita/contribs/lambdadelta/basic_2/rt_computation/lpxs_reqx.ma +++ b/matita/matita/contribs/lambdadelta/basic_2/rt_computation/lpxs_reqx.ma @@ -15,16 +15,15 @@ include "basic_2/rt_transition/lpx_reqx.ma". include "basic_2/rt_computation/lpxs_lpx.ma". -(* UNBOUND PARALLEL RT-COMPUTATION FOR FULL LOCAL ENVIRONMENTS **************) +(* EXTENDED PARALLEL RT-COMPUTATION FOR FULL LOCAL ENVIRONMENTS *************) (* Properties with sort-irrelevant equivalence on referred entries **********) (* Basic_2A1: uses: lleq_lpxs_trans *) -lemma reqx_lpxs_trans (h) (G) (T:term): - ∀L2,K2. ❪G,L2❫ ⊢ ⬈*[h] K2 → - ∀L1. L1 ≛[T] L2 → - ∃∃K1. ❪G,L1❫ ⊢ ⬈*[h] K1 & K1 ≛[T] K2. -#h #G #T #L2 #K2 #H @(lpxs_ind_sn … H) -L2 /2 width=3 by ex2_intro/ +lemma reqx_lpxs_trans (G) (T:term): + ∀L2,K2. ❪G,L2❫ ⊢ ⬈* K2 → ∀L1. L1 ≛[T] L2 → + ∃∃K1. ❪G,L1❫ ⊢ ⬈* K1 & K1 ≛[T] K2. +#G #T #L2 #K2 #H @(lpxs_ind_sn … H) -L2 /2 width=3 by ex2_intro/ #L #L2 #HL2 #_ #IH #L1 #HT elim (reqx_lpx_trans … HL2 … HT) -L #L #HL1 #HT elim (IH … HT) -L2 #K #HLK #HT @@ -32,11 +31,10 @@ elim (IH … HT) -L2 #K #HLK #HT qed-. (* Basic_2A1: uses: lpxs_nlleq_inv_step_sn *) -lemma lpxs_rneqx_inv_step_sn (h) (G) (T:term): - ∀L1,L2. ❪G,L1❫ ⊢ ⬈*[h] L2 → (L1 ≛[T] L2 → ⊥) → - ∃∃L,L0. ❪G,L1❫ ⊢ ⬈[h] L & L1 ≛[T] L → ⊥ & - ❪G,L❫ ⊢ ⬈*[h] L0 & L0 ≛[T] L2. -#h #G #T #L1 #L2 #H @(lpxs_ind_sn … H) -L1 +lemma lpxs_rneqx_inv_step_sn (G) (T:term): + ∀L1,L2. ❪G,L1❫ ⊢ ⬈* L2 → (L1 ≛[T] L2 → ⊥) → + ∃∃L,L0. ❪G,L1❫ ⊢ ⬈ L & L1 ≛[T] L → ⊥ & ❪G,L❫ ⊢ ⬈* L0 & L0 ≛[T] L2. +#G #T #L1 #L2 #H @(lpxs_ind_sn … H) -L1 [ #H elim H -H // | #L1 #L #H1 #H2 #IH2 #H12 elim (reqx_dec L1 L T) #H [ -H1 -H2 elim IH2 -IH2 /3 width=3 by reqx_trans/ -H12