X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=matita%2Fmatita%2Fcontribs%2Flambdadelta%2Fbasic_2%2Frelocation%2Flexs_length.ma;h=71467ba72319444401782e16aa8ef9d32d1c7392;hb=5c186c72f508da0849058afeecc6877cd9ed6303;hp=2ceec510bb182bd74f6b87bb24ae40094f84e291;hpb=c879284b576409cec07e96c1f08510d9d9ac14f3;p=helm.git diff --git a/matita/matita/contribs/lambdadelta/basic_2/relocation/lexs_length.ma b/matita/matita/contribs/lambdadelta/basic_2/relocation/lexs_length.ma index 2ceec510b..71467ba72 100644 --- a/matita/matita/contribs/lambdadelta/basic_2/relocation/lexs_length.ma +++ b/matita/matita/contribs/lambdadelta/basic_2/relocation/lexs_length.ma @@ -19,9 +19,8 @@ include "basic_2/relocation/lexs.ma". (* Forward lemmas with length for local environments ************************) -(* Basic_2A1: uses: lpx_sn_fwd_length *) lemma lexs_fwd_length: ∀RN,RP,f,L1,L2. L1 ⪤*[RN, RP, f] L2 → |L1| = |L2|. -#RM #RP #f #L1 #L2 #H elim H -f -L1 -L2 // +#RN #RP #f #L1 #L2 #H elim H -f -L1 -L2 // #f #I1 #I2 #L1 #L2 >length_bind >length_bind // qed-. @@ -35,3 +34,13 @@ lemma lexs_length_cfull: ∀L1,L2. |L1| = |L2| → ∀f. L1 ⪤*[cfull, cfull, f elim (pn_split f) * #g #H destruct /3 width=1 by lexs_next, lexs_push/ ] qed. + +lemma lexs_length_isid: ∀R,L1,L2. |L1| = |L2| → + ∀f. 𝐈⦃f⦄ → L1 ⪤*[R, cfull, f] L2. +#R #L1 elim L1 -L1 +[ #Y2 #H >(length_inv_zero_sn … H) -Y2 // +| #L1 #I1 #IH #Y2 #H #f #Hf + elim (length_inv_succ_sn … H) -H #I2 #L2 #HL12 #H destruct + elim (isid_inv_gen … Hf) -Hf #g #Hg #H destruct /3 width=1 by lexs_push/ +] +qed.