figure out new proof based on length_snoc, but MoreCoq.v can't find it