X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=matita%2Fmatita%2Fcontribs%2Flambdadelta%2Fbasic_2%2Fdynamic%2Fcnv_cpms_teqx_conf.ma;h=a671be539e7e05fbdf0b21a27bc35f5938eb8b3f;hb=11093619476326238c2ef9d2dfe9150b8c9bc920;hp=e992d2e26d44d5ed4213fae54eec832e4b29123e;hpb=e23331eef5817eaa6c5e1c442d1d6bbb18650573;p=helm.git diff --git a/matita/matita/contribs/lambdadelta/basic_2/dynamic/cnv_cpms_teqx_conf.ma b/matita/matita/contribs/lambdadelta/basic_2/dynamic/cnv_cpms_teqx_conf.ma index e992d2e26..a671be539 100644 --- a/matita/matita/contribs/lambdadelta/basic_2/dynamic/cnv_cpms_teqx_conf.ma +++ b/matita/matita/contribs/lambdadelta/basic_2/dynamic/cnv_cpms_teqx_conf.ma @@ -20,12 +20,12 @@ include "basic_2/dynamic/cnv_cpms_teqx.ma". (* Sub confluence propery with restricted rt-transition for terms ***********) fact cnv_cpms_teqx_strip_lpr_aux (h) (a) (G0) (L0) (T0): - (∀G,L,T. ❪G0,L0,T0❫ > ❪G,L,T❫ → IH_cnv_cpm_trans_lpr h a G L T) → - (∀G,L,T. ❪G0,L0,T0❫ > ❪G,L,T❫ → IH_cnv_cpms_conf_lpr h a G L T) → - ∀n1,T1. ❪G0,L0❫ ⊢ T0 ➡*[h,n1] T1 → ❪G0,L0❫ ⊢ T0 ![h,a] → T0 ≅ T1 → - ∀n2,T2. ❪G0,L0❫ ⊢ T0 ➡[h,n2] T2 → T0 ≅ T2 → - ∀L1. ❪G0,L0❫ ⊢ ➡[h,0] L1 → ∀L2. ❪G0,L0❫ ⊢ ➡[h,0] L2 → - ∃∃T. ❪G0,L1❫ ⊢ T1 ➡[h,n2-n1] T & T1 ≅ T & ❪G0,L2❫ ⊢ T2 ➡*[h,n1-n2] T & T2 ≅ T. + (∀G,L,T. ❨G0,L0,T0❩ > ❨G,L,T❩ → IH_cnv_cpm_trans_lpr h a G L T) → + (∀G,L,T. ❨G0,L0,T0❩ > ❨G,L,T❩ → IH_cnv_cpms_conf_lpr h a G L T) → + ∀n1,T1. ❨G0,L0❩ ⊢ T0 ➡*[h,n1] T1 → ❨G0,L0❩ ⊢ T0 ![h,a] → T0 ≅ T1 → + ∀n2,T2. ❨G0,L0❩ ⊢ T0 ➡[h,n2] T2 → T0 ≅ T2 → + ∀L1. ❨G0,L0❩ ⊢ ➡[h,0] L1 → ∀L2. ❨G0,L0❩ ⊢ ➡[h,0] L2 → + ∃∃T. ❨G0,L1❩ ⊢ T1 ➡[h,n2-n1] T & T1 ≅ T & ❨G0,L2❩ ⊢ T2 ➡*[h,n1-n2] T & T2 ≅ T. #h #a #G #L0 #T0 #IH2 #IH1 #n1 #T1 #H1T01 #H0T0 #H2T01 @(cpms_teqx_ind_sn … H1T01 H0T0 H2T01 IH1 IH2) -n1 -T0 [ #H0T1 #n2 #T2 #H1T12 #H2T12 #L1 #HL01 #L2 #HL02 @@ -45,12 +45,12 @@ fact cnv_cpms_teqx_strip_lpr_aux (h) (a) (G0) (L0) (T0): qed-. fact cnv_cpms_teqx_conf_lpr_aux (h) (a) (G0) (L0) (T0): - (∀G,L,T. ❪G0,L0,T0❫ > ❪G,L,T❫ → IH_cnv_cpm_trans_lpr h a G L T) → - (∀G,L,T. ❪G0,L0,T0❫ > ❪G,L,T❫ → IH_cnv_cpms_conf_lpr h a G L T) → - ∀n1,T1. ❪G0,L0❫ ⊢ T0 ➡*[h,n1] T1 → ❪G0,L0❫ ⊢ T0 ![h,a] → T0 ≅ T1 → - ∀n2,T2. ❪G0,L0❫ ⊢ T0 ➡*[h,n2] T2 → T0 ≅ T2 → - ∀L1. ❪G0,L0❫ ⊢ ➡[h,0] L1 → ∀L2. ❪G0,L0❫ ⊢ ➡[h,0] L2 → - ∃∃T. ❪G0,L1❫ ⊢ T1 ➡*[h,n2-n1] T & T1 ≅ T & ❪G0,L2❫ ⊢ T2 ➡*[h,n1-n2] T & T2 ≅ T. + (∀G,L,T. ❨G0,L0,T0❩ > ❨G,L,T❩ → IH_cnv_cpm_trans_lpr h a G L T) → + (∀G,L,T. ❨G0,L0,T0❩ > ❨G,L,T❩ → IH_cnv_cpms_conf_lpr h a G L T) → + ∀n1,T1. ❨G0,L0❩ ⊢ T0 ➡*[h,n1] T1 → ❨G0,L0❩ ⊢ T0 ![h,a] → T0 ≅ T1 → + ∀n2,T2. ❨G0,L0❩ ⊢ T0 ➡*[h,n2] T2 → T0 ≅ T2 → + ∀L1. ❨G0,L0❩ ⊢ ➡[h,0] L1 → ∀L2. ❨G0,L0❩ ⊢ ➡[h,0] L2 → + ∃∃T. ❨G0,L1❩ ⊢ T1 ➡*[h,n2-n1] T & T1 ≅ T & ❨G0,L2❩ ⊢ T2 ➡*[h,n1-n2] T & T2 ≅ T. #h #a #G #L0 #T0 #IH2 #IH1 #n1 #T1 #H1T01 #H0T0 #H2T01 generalize in match IH1; generalize in match IH2; @(cpms_teqx_ind_sn … H1T01 H0T0 H2T01 IH1 IH2) -n1 -T0