X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=matita%2Fmatita%2Fcontribs%2Flambda_delta%2Fbasic_2%2Fsubstitution%2Flift_lift.ma;h=f302b16ad4146fa53407b466ce34597cd21746d3;hb=5ea90cbbb01fe0bf3b77221d9e6c87002982621f;hp=727d486d4dfd4e978620ef2c530d71db4685b0c6;hpb=913512bbc9202f2109d53acd43dc8c0270b17184;p=helm.git diff --git a/matita/matita/contribs/lambda_delta/basic_2/substitution/lift_lift.ma b/matita/matita/contribs/lambda_delta/basic_2/substitution/lift_lift.ma index 727d486d4..f302b16ad 100644 --- a/matita/matita/contribs/lambda_delta/basic_2/substitution/lift_lift.ma +++ b/matita/matita/contribs/lambda_delta/basic_2/substitution/lift_lift.ma @@ -201,9 +201,17 @@ qed. (* Advanced properties ******************************************************) -lemma lift_conf_le: ∀T,T1,d. ⇧[O, d] T ≡ T1 → ∀T2,e. ⇧[O, d + e] T ≡ T2 → - ⇧[d, e] T1 ≡ T2. -#T #T1 #d #HT1 #T2 #e #HT2 -elim (lift_split … HT2 d d ? ? ?) -HT2 // #X #H +lemma lift_conf_O1: ∀T,T1,d1,e1. ⇧[d1, e1] T ≡ T1 → ∀T2,e2. ⇧[0, e2] T ≡ T2 → + ∃∃T0. ⇧[0, e2] T1 ≡ T0 & ⇧[d1 + e2, e1] T2 ≡ T0. +#T #T1 #d1 #e1 #HT1 #T2 #e2 #HT2 +elim (lift_total T1 0 e2) #T0 #HT10 +elim (lift_trans_le … HT1 … HT10 ?) -HT1 // #X #HTX #HT20 +lapply (lift_mono … HTX … HT2) -T #H destruct /2 width=3/ +qed. + +lemma lift_conf_be: ∀T,T1,d,e1. ⇧[d, e1] T ≡ T1 → ∀T2,e2. ⇧[d, e2] T ≡ T2 → + e1 ≤ e2 → ⇧[d + e1, e2 - e1] T1 ≡ T2. +#T #T1 #d #e1 #HT1 #T2 #e2 #HT2 #He12 +elim (lift_split … HT2 (d+e1) e1 ? ? ?) -HT2 // #X #H >(lift_mono … H … HT1) -T // qed.