X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=matita%2Fmatita%2Fcontribs%2Flambda_delta%2Fbasic_2%2Freducibility%2Fcpr.ma;h=5a572d5e182335c11ff38cc84f2fb5cca98e700e;hb=5ea90cbbb01fe0bf3b77221d9e6c87002982621f;hp=18ad47c3e0761d2191d9b867bf116423183425e7;hpb=cb38da6095e3af84131a3ebf47a9f252f34a804c;p=helm.git diff --git a/matita/matita/contribs/lambda_delta/basic_2/reducibility/cpr.ma b/matita/matita/contribs/lambda_delta/basic_2/reducibility/cpr.ma index 18ad47c3e..5a572d5e1 100644 --- a/matita/matita/contribs/lambda_delta/basic_2/reducibility/cpr.ma +++ b/matita/matita/contribs/lambda_delta/basic_2/reducibility/cpr.ma @@ -12,7 +12,6 @@ (* *) (**************************************************************************) -include "basic_2/grammar/cl_shift.ma". include "basic_2/unfold/tpss.ma". include "basic_2/reducibility/tpr.ma". @@ -55,10 +54,10 @@ qed. (* Note: it does not hold replacing |L1| with |L2| *) (* Basic_1: was only: pr2_change *) -lemma cpr_lsubs_conf: ∀L1,T1,T2. L1 ⊢ T1 ➡ T2 → - ∀L2. L1 ≼ [0, |L1|] L2 → L2 ⊢ T1 ➡ T2. +lemma cpr_lsubs_trans: ∀L1,T1,T2. L1 ⊢ T1 ➡ T2 → + ∀L2. L2 ≼ [0, |L1|] L1 → L2 ⊢ T1 ➡ T2. #L1 #T1 #T2 * #T #HT1 #HT2 #L2 #HL12 -lapply (tpss_lsubs_conf … HT2 … HL12) -HT2 -HL12 /3 width=4/ +lapply (tpss_lsubs_trans … HT2 … HL12) -HT2 -HL12 /3 width=4/ qed. (* Basic inversion lemmas ***************************************************) @@ -76,26 +75,6 @@ lemma cpr_inv_sort1: ∀L,T2,k. L ⊢ ⋆k ➡ T2 → T2 = ⋆k. >(tpss_inv_sort1 … H) -H // qed-. -(* Basic_1: was pr2_gen_abbr *) -lemma cpr_inv_abbr1: ∀L,V1,T1,U2. L ⊢ ⓓV1. T1 ➡ U2 → - (∃∃V,V2,T2. V1 ➡ V & L ⊢ V ▶* [O, |L|] V2 & - L. ⓓV ⊢ T1 ➡ T2 & - U2 = ⓓV2. T2 - ) ∨ - ∃∃T. ⇧[0,1] T ≡ T1 & L ⊢ T ➡ U2. -#L #V1 #T1 #Y * #X #H1 #H2 -elim (tpr_inv_abbr1 … H1) -H1 * -[ #V #T0 #T #HV1 #HT10 #HT0 #H destruct - elim (tpss_inv_bind1 … H2) -H2 #V2 #T2 #HV2 #HT2 #H destruct - lapply (tps_lsubs_conf … HT0 (L. ⓓV) ?) -HT0 /2 width=1/ #HT0 - lapply (tps_weak_all … HT0) -HT0 #HT0 - lapply (tpss_lsubs_conf … HT2 (L. ⓓV) ?) -HT2 /2 width=1/ #HT2 - lapply (tpss_weak_all … HT2) -HT2 #HT2 - lapply (tpss_strap … HT0 HT2) -T /4 width=7/ -| /4 width=5/ -] -qed-. - (* Basic_1: was: pr2_gen_cast *) lemma cpr_inv_cast1: ∀L,V1,T1,U2. L ⊢ ⓝV1. T1 ➡ U2 → ( ∃∃V2,T2. L ⊢ V1 ➡ V2 & L ⊢ T1 ➡ T2 &