lemma frees_sort_pushs: āˆ€f,K,s. K āŠ¢ š…+ā¦ƒā‹†sā¦„ ā‰˜ f ā†’ āˆ€i,L. ā‡©*[i] L ā‰˜ K ā†’ L āŠ¢ š…+ā¦ƒā‹†sā¦„ ā‰˜ ā«Æ*[i] f. #f #K #s #Hf #i elim i -i [ #L #H lapply (drops_fwd_isid ā€¦ H ?) -H // | #i #IH #L #H elim (drops_inv_succ ā€¦ H) -H /3 width=1 by frees_sort/ ] qed. lemma frees_gref_pushs: āˆ€f,K,l. K āŠ¢ š…+ā¦ƒĀ§lā¦„ ā‰˜ f ā†’ āˆ€i,L. ā‡©*[i] L ā‰˜ K ā†’ L āŠ¢ š…+ā¦ƒĀ§lā¦„ ā‰˜ ā«Æ*[i] f. #f #K #l #Hf #i elim i -i [ #L #H lapply (drops_fwd_isid ā€¦ H ?) -H // | #i #IH #L #H elim (drops_inv_succ ā€¦ H) -H /3 width=1 by frees_gref/ ] qed.