X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=matita%2Fmatita%2Fcontribs%2Flambda_delta%2FBasic_2%2Freducibility%2Fcpr_ltpss.ma;h=148a29645c81cd5c017aba2fe07406f0c6c4d50f;hb=011cf6478141e69822a5b40933f2444d0522532f;hp=d925d19c5e7033dba3627c94aebf3bd3ef1f4b65;hpb=b5db76fe31ab35bae0257cb6684c511bcc531e45;p=helm.git diff --git a/matita/matita/contribs/lambda_delta/Basic_2/reducibility/cpr_ltpss.ma b/matita/matita/contribs/lambda_delta/Basic_2/reducibility/cpr_ltpss.ma index d925d19c5..148a29645 100644 --- a/matita/matita/contribs/lambda_delta/Basic_2/reducibility/cpr_ltpss.ma +++ b/matita/matita/contribs/lambda_delta/Basic_2/reducibility/cpr_ltpss.ma @@ -12,35 +12,11 @@ (* *) (**************************************************************************) -include "Basic_2/unfold/ltpss_ltpss.ma". +include "Basic_2/unfold/ltpss_tpss.ma". include "Basic_2/reducibility/cpr.ma". (* CONTEXT-SENSITIVE PARALLEL REDUCTION ON TERMS ****************************) -(* Advanced inversion lemmas ************************************************) - -(* Basic_1: was pr2_gen_abbr *) -lemma cpr_inv_abbr1: ∀L,V1,T1,U2. L ⊢ ⓓV1. T1 ➡ U2 → - (∃∃V2,T2,T. L ⊢ V1 ➡ V2 & L. ⓓV2 ⊢ T1 ➡ T2 & - L. ⓓV2 ⊢ T [1, |L|] ▶* T2 & - U2 = ⓓV2. T - ) ∨ - ∃∃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 - elim (ltpss_tps_conf … HT0 (L. ⓓV2) 1 (|L|) ?) -HT0 /2 width=1/ #V0 #HV20 #HV0 - lapply (tpss_weak_all … HV20) -HV20 #HV20 - lapply (tpss_lsubs_conf … HV0 (L. ⓓV2) ?) -HV0 /2 width=1/ #HV0 - elim (tpss_conf_eq … HT2 … HV0) -T #T3 #HT23 #HVT3 - lapply (tpss_weak_all … HVT3) -HVT3 #HVT3 - lapply (tpss_trans_eq … HV20 … HVT3) -V0 /4 width=7/ -| /4 width=5/ -] -qed-. - (* Properties concerning partial unfold on local environments ***************) lemma ltpss_cpr_trans: ∀L1,L2,d,e. L1 [d, e] ▶* L2 →