Local Lemma wmultZ_helper: forall a b k1 k2 p,
((a - k1 * p) * (b - k2 * p) = a * b - (k1 * b + k2 * a - k1 * k2 * p) * p)%Z.

Lemma sext_eq_rect:
forall sz (w: word sz) n nsz Hsz1,
exists Hsz2,
eq_rect (sz + n) word (sext w n) (nsz + n) Hsz1 =
sext (eq_rect sz word w nsz Hsz2) n.