X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=matita%2Fmatita%2Fcontribs%2Flambda_delta%2Fbasic_2%2Funfold%2Fthin.ma;h=65fb76fe0dc7fe77bc8f4bf930d45fdee2f44d01;hb=5613a25cee29ef32a597cb4b44e8f2f4d71c4df0;hp=0b4da98f9532e57c16a84e7125c70cbe22df7d0f;hpb=913512bbc9202f2109d53acd43dc8c0270b17184;p=helm.git diff --git a/matita/matita/contribs/lambda_delta/basic_2/unfold/thin.ma b/matita/matita/contribs/lambda_delta/basic_2/unfold/thin.ma index 0b4da98f9..65fb76fe0 100644 --- a/matita/matita/contribs/lambda_delta/basic_2/unfold/thin.ma +++ b/matita/matita/contribs/lambda_delta/basic_2/unfold/thin.ma @@ -12,14 +12,26 @@ (* *) (**************************************************************************) -include "basic_2/unfold/ltpss.ma". +include "basic_2/unfold/ltpss_sn.ma". -(* DELIFT ON LOCAL ENVIRONMENTS ********************************************) +(* BASIC LOCAL ENVIRONMENT THINNING *****************************************) definition thin: nat → nat → relation lenv ≝ - λd,e,L1,L2. ∃∃L. L1 [d, e] ▶* L & ⇩[d, e] L ≡ L2. + λd,e,L1,L2. ∃∃L. L1 ⊢ ▶* [d, e] L & ⇩[d, e] L ≡ L2. -interpretation "delift (local environment)" +interpretation "basic thinning (local environment)" 'TSubst L1 d e L2 = (thin d e L1 L2). (* Basic properties *********************************************************) + +lemma ldrop_thin: ∀L1,L2,d,e. ⇩[d, e] L1 ≡ L2 → ▼*[d, e] L1 ≡ L2. +/2 width=3/ qed. + +(* Basic inversion lemmas ***************************************************) + +lemma thin_inv_thin1: ∀I,K1,V1,L2,e. ▼*[0, e] K1.ⓑ{I} V1 ≡ L2 → 0 < e → + ▼*[0, e - 1] K1 ≡ L2. +#I #K1 #V1 #L2 #e * #X #HK1 #HL2 #e +elim (ltpss_sn_inv_tpss21 … HK1 ?) -HK1 // #K #V #HK1 #_ #H destruct +lapply (ldrop_inv_ldrop1 … HL2 ?) -HL2 // /2 width=3/ +qed-.