X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=matita%2Fmatita%2Fcontribs%2Flambdadelta%2Fbasic_2%2Freducibility%2Fcpr_tpss.ma;fp=matita%2Fmatita%2Fcontribs%2Flambdadelta%2Fbasic_2%2Freducibility%2Fcpr_tpss.ma;h=fc4f2b8c50fa3d2f56ab076f119b37d4fe14615e;hb=0fc60a39857b0225b4888d5bd991c7790231eb44;hp=e5afe8737c846733c8a51e4b0c44502ec442c55f;hpb=9c5e448d33057cb8ce6a02eba2d81a5e043cac24;p=helm.git diff --git a/matita/matita/contribs/lambdadelta/basic_2/reducibility/cpr_tpss.ma b/matita/matita/contribs/lambdadelta/basic_2/reducibility/cpr_tpss.ma index e5afe8737..fc4f2b8c5 100644 --- a/matita/matita/contribs/lambdadelta/basic_2/reducibility/cpr_tpss.ma +++ b/matita/matita/contribs/lambdadelta/basic_2/reducibility/cpr_tpss.ma @@ -12,7 +12,7 @@ (* *) (**************************************************************************) -include "basic_2/unfold/tpss_tpss.ma". +include "basic_2/reducibility/tpr_tpss.ma". include "basic_2/reducibility/cpr.ma". (* CONTEXT-SENSITIVE PARALLEL REDUCTION ON TERMS ****************************) @@ -20,11 +20,20 @@ include "basic_2/reducibility/cpr.ma". (* Properties on partial unfold for terms ***********************************) lemma cpr_tpss_trans: ∀L,T1,T. L ⊢ T1 ➡ T → - ∀T2. L ⊢ T ▶* [O, |L|] T2 → L ⊢ T1 ➡ T2. -#L #T1 #T * #T0 #HT10 #HT0 #T2 #HT2 + ∀T2,d,e. L ⊢ T ▶* [d, e] T2 → L ⊢ T1 ➡ T2. +#L #T1 #T * #T0 #HT10 #HT0 #T2 #d #e #HT2 +lapply (tpss_weak_all … HT2) -HT2 #HT2 lapply (tpss_trans_eq … HT0 HT2) -T /2 width=3/ qed. lemma cpr_tps_trans: ∀L,T1,T. L ⊢ T1 ➡ T → - ∀T2. L ⊢ T ▶ [O, |L|] T2 → L ⊢ T1 ➡ T2. -/3 width=3/ qed. + ∀T2,d,e. L ⊢ T ▶ [d, e] T2 → L ⊢ T1 ➡ T2. +/3 width=5/ qed. + +lemma cpr_tpss_conf: ∀L,T0,T1. L ⊢ T0 ➡ T1 → + ∀T2,d,e. L ⊢ T0 ▶* [d, e] T2 → + ∃∃T. L ⊢ T1 ▶* [d, e] T & L ⊢ T2 ➡ T. +#L #T0 #T1 * #U0 #HTU0 #HU0T1 #T2 #d #e #HT02 +elim (tpr_tpss_conf … HTU0 … HT02) -T0 #T0 #HT20 #HUT0 +elim (tpss_conf_eq … HU0T1 … HUT0) -U0 /3 width=5/ +qed-.