X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=matita%2Fmatita%2Fcontribs%2Flambdadelta%2Fbasic_2%2Fdynamic%2Fcnv_cpmuwe.ma;h=ce73661f85265d67aab1ee1b03d715b05d23ddf9;hb=bd53c4e895203eb049e75434f638f26b5a161a2b;hp=0113889427cc8e1e58049e1d9c8d5ce81bbb4b75;hpb=0fea4ed429678c3293027cfe76fdbe15cfa331cb;p=helm.git diff --git a/matita/matita/contribs/lambdadelta/basic_2/dynamic/cnv_cpmuwe.ma b/matita/matita/contribs/lambdadelta/basic_2/dynamic/cnv_cpmuwe.ma index 011388942..ce73661f8 100644 --- a/matita/matita/contribs/lambdadelta/basic_2/dynamic/cnv_cpmuwe.ma +++ b/matita/matita/contribs/lambdadelta/basic_2/dynamic/cnv_cpmuwe.ma @@ -18,27 +18,25 @@ include "basic_2/dynamic/cnv_preserve.ma". (* CONTEXT-SENSITIVE NATIVE VALIDITY FOR TERMS ******************************) -(* Properties with head evaluation for t-bound rt-transition on terms *******) +(* Properties with t-unbound whd evaluation on terms ************************) -lemma cnv_cpmuwe_trans (a) (h) (G) (L): - ∀T1. ⦃G,L⦄ ⊢ T1 ![a,h] → - ∀T2,n. ⦃G,L⦄ ⊢ T1 ➡*𝐍𝐖*[h,n] T2 → ⦃G,L⦄ ⊢ T2 ![a,h]. +lemma cnv_cpmuwe_trans (h) (a) (G) (L): + ∀T1. ❪G,L❫ ⊢ T1 ![h,a] → + ∀n,T2. ❪G,L❫ ⊢ T1 ➡*𝐍𝐖*[h,n] T2 → ❪G,L❫ ⊢ T2 ![h,a]. /3 width=4 by cpmuwe_fwd_cpms, cnv_cpms_trans/ qed-. -lemma cnv_R_cpmuwe_total (a) (h) (G) (L): - ∀T1. ⦃G,L⦄ ⊢ T1 ![a,h] → ∃n. R_cpmuwe h G L T1 n. +lemma cnv_R_cpmuwe_total (h) (a) (G) (L): + ∀T1. ❪G,L❫ ⊢ T1 ![h,a] → ∃n. R_cpmuwe h G L T1 n. /4 width=2 by cnv_fwd_fsb, fsb_inv_csx, R_cpmuwe_total_csx/ qed-. -axiom cnv_R_cpmuwe_dec (a) (h) (G) (L): - ∀T. ⦃G,L⦄ ⊢ T ![a,h] → ∀n. Decidable (R_cpmuwe h G L T n). - (* Main inversions with head evaluation for t-bound rt-transition on terms **) -theorem cnv_cpmuwe_mono (a) (h) (G) (L): - ∀T0. ⦃G,L⦄ ⊢ T0 ![a,h] → ∀T1,n1. ⦃G,L⦄ ⊢ T0 ➡*𝐍𝐖*[h,n1] T1 → - ∀T2,n2. ⦃G,L⦄ ⊢ T0 ➡*𝐍𝐖*[h,n2] T2 → - ∧∧ ⦃G,L⦄ ⊢ T1 ⬌*[h,n2-n1,n1-n2] T2 & T1 ≅ T2. -#a #h #G #L #T0 #HT0 #T1 #n1 * #HT01 #HT1 #T2 #n2 * #HT02 #HT2 +theorem cnv_cpmuwe_mono (h) (a) (G) (L): + ∀T0. ❪G,L❫ ⊢ T0 ![h,a] → + ∀n1,T1. ❪G,L❫ ⊢ T0 ➡*𝐍𝐖*[h,n1] T1 → + ∀n2,T2. ❪G,L❫ ⊢ T0 ➡*𝐍𝐖*[h,n2] T2 → + ∧∧ ❪G,L❫ ⊢ T1 ⬌*[h,n2-n1,n1-n2] T2 & T1 ≅ T2. +#h #a #G #L #T0 #HT0 #n1 #T1 * #HT01 #HT1 #n2 #T2 * #HT02 #HT2 elim (cnv_cpms_conf … HT0 … HT01 … HT02) -T0 #T0 #HT10 #HT20 /4 width=4 by cpms_div, tweq_canc_dx, conj/ qed-.