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_wplus_exist:
forall sz (w1 w2: word sz) n,
exists w: word (S sz),
existT word _ (sext w1 (S n) ^+ sext w2 (S n)) =
existT word _ (sext w n).