(* 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-.
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.