X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=matita%2Fmatita%2Fcontribs%2Flambdadelta%2Fbasic_2%2Fdynamic%2Fcnv_cpm_teqx_trans.ma;h=14b956b823bcc48dc53c30a3c0b044ed142fc454;hb=cfd201c62dd9b854bfb4ada648d3e556b29fac3a;hp=67104bbc65c07dbf8568d9e3ee1ea3e74c0c8943;hpb=ca7327c20c6031829fade8bb84a3a1bb66113f54;p=helm.git diff --git a/matita/matita/contribs/lambdadelta/basic_2/dynamic/cnv_cpm_teqx_trans.ma b/matita/matita/contribs/lambdadelta/basic_2/dynamic/cnv_cpm_teqx_trans.ma index 67104bbc6..14b956b82 100644 --- a/matita/matita/contribs/lambdadelta/basic_2/dynamic/cnv_cpm_teqx_trans.ma +++ b/matita/matita/contribs/lambdadelta/basic_2/dynamic/cnv_cpm_teqx_trans.ma @@ -18,16 +18,16 @@ include "basic_2/dynamic/cnv_cpm_teqx.ma". (* CONTEXT-SENSITIVE NATIVE VALIDITY FOR TERMS ******************************) definition IH_cnv_cpm_teqx_cpm_trans (h) (a): relation3 genv lenv term ≝ - λG,L,T1. ❪G,L❫ ⊢ T1 ![h,a] → - ∀n1,T. ❪G,L❫ ⊢ T1 ➡[h,n1] T → T1 ≛ T → - ∀n2,T2. ❪G,L❫ ⊢ T ➡[h,n2] T2 → - ∃∃T0. ❪G,L❫ ⊢ T1 ➡[h,n2] T0 & ❪G,L❫ ⊢ T0 ➡[h,n1] T2 & T0 ≛ T2. + λG,L,T1. ❨G,L❩ ⊢ T1 ![h,a] → + ∀n1,T. ❨G,L❩ ⊢ T1 ➡[h,n1] T → T1 ≅ T → + ∀n2,T2. ❨G,L❩ ⊢ T ➡[h,n2] T2 → + ∃∃T0. ❨G,L❩ ⊢ T1 ➡[h,n2] T0 & ❨G,L❩ ⊢ T0 ➡[h,n1] T2 & T0 ≅ T2. (* Transitive properties restricted rt-transition for terms *****************) fact cnv_cpm_teqx_cpm_trans_sub (h) (a) (G0) (L0) (T0): - (∀G,L,T. ❪G0,L0,T0❫ >[h] ❪G,L,T❫ → IH_cnv_cpm_trans_lpr h a G L T) → - (∀G,L,T. ❪G0,L0,T0❫ ⬂+ ❪G,L,T❫ → IH_cnv_cpm_teqx_cpm_trans h a G L 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_cpm_teqx_cpm_trans h a G L T) → ∀G,L,T1. G0 = G → L0 = L → T0 = T1 → IH_cnv_cpm_teqx_cpm_trans h a G L T1. #h #a #G0 #L0 #T0 #IH2 #IH1 #G #L * [| * [| * ]] [ #I #_ #_ #_ #_ #n1 #X1 #H1X #H2X #n2 #X2 #HX2 destruct -G0 -L0 -T0 @@ -35,7 +35,7 @@ fact cnv_cpm_teqx_cpm_trans_sub (h) (a) (G0) (L0) (T0): [ #H1 #H2 destruct /2 width=4 by ex3_intro/ | #s #H1 #H2 #H3 destruct elim (cpm_inv_sort1 … HX2) -HX2 #H #Hn2 destruct >iter_n_Sm - /3 width=4 by cpm_sort, teqx_sort, ex3_intro/ + /3 width=4 by cpm_sort, teqg_sort, ex3_intro/ ] | #p #I #V1 #T1 #HG #HL #HT #H0 #n1 #X1 #H1X #H2X #n2 #X2 #HX2 destruct elim (cpm_teqx_inv_bind_sn … H0 … H1X H2X) -H0 -H1X -H2X #T #_ #H0T1 #H1T1 #H2T1 #H destruct @@ -89,7 +89,7 @@ fact cnv_cpm_teqx_cpm_trans_sub (h) (a) (G0) (L0) (T0): qed-. fact cnv_cpm_teqx_cpm_trans_aux (h) (a) (G0) (L0) (T0): - (∀G,L,T. ❪G0,L0,T0❫ >[h] ❪G,L,T❫ → IH_cnv_cpm_trans_lpr h a G L T) → + (∀G,L,T. ❨G0,L0,T0❩ > ❨G,L,T❩ → IH_cnv_cpm_trans_lpr h a G L T) → IH_cnv_cpm_teqx_cpm_trans h a G0 L0 T0. #h #a #G0 #L0 #T0 @(fqup_wf_ind (Ⓣ) … G0 L0 T0) -G0 -L0 -T0 #G0 #L0 #T0 #IH #IH0