From: Ferruccio Guidi Date: Wed, 24 Aug 2011 17:48:10 +0000 (+0000) Subject: one reduction rule (tpr) was redundant X-Git-Tag: make_still_working~2326 X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=commitdiff_plain;h=7c7d06e172313059f73302fab2aab59efbf1f419;p=helm.git one reduction rule (tpr) was redundant --- diff --git a/matita/matita/contribs/lambda-delta/Basic-2/reduction/cpr.ma b/matita/matita/contribs/lambda-delta/Basic-2/reduction/cpr.ma index f41999e45..090c6cf6f 100644 --- a/matita/matita/contribs/lambda-delta/Basic-2/reduction/cpr.ma +++ b/matita/matita/contribs/lambda-delta/Basic-2/reduction/cpr.ma @@ -33,7 +33,18 @@ lemma cpr_tps: ∀L,T1,T2,d,e. L ⊢ T1 [d, e] ≫ T2 → L ⊢ T1 ⇒ T2. lemma cpr_refl: ∀L,T. L ⊢ T ⇒ T. /2/ qed. - +(* +(* NOTE: new property *) +lemma cpr_bind: ∀I,L,V1,V2,T1,T2. + V1 ⇒ V2 → L. 𝕓{I} V2 ⊢ T1 ⇒ T2 → L ⊢ 𝕓{I} V1. T1 ⇒ 𝕓{I} V2. T2. +#I #L #V1 #V2 #T1 #T2 #HV12 * #T #HT1 normalize #HT2 +elim (tps_split_up … HT2 1 ? ?) -HT2 // #T0 (le_to_le_to_eq … Hdi ?) /2/ -d #K #V #HLK + lapply (drop_mono … HLK0 … HLK) #H destruct +| #L #I #V1 #V2 #T1 #T2 #d #e #_ #_ #IHV12 #IHT12 #H1 #K #V #HLK + >(IHV12 H1 … HLK) -IHV12 >(IHT12 H1 K V) -IHT12 /2/ +| #L #I #V1 #V2 #T1 #T2 #d #e #_ #_ #IHV12 #IHT12 #H1 #K #V #HLK + >(IHV12 H1 … HLK) -IHV12 >(IHT12 H1 … HLK) -IHT12 // +] +qed. + +lemma tps_inv_refl1: ∀L,T1,T2,d. L ⊢ T1 [d, 1] ≫ T2 → + ∀K,V. ↓[0, d] L ≡ K. 𝕓{Abst} V → T1 = T2. +/2 width=8/ qed.