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 wminus_wordToZ':
forall sz (w1 w2: word (sz + 1)),
existT word _ (w2 ^- w1) <> existT word _ (wpow2 sz) ->
wordToZ (w1 ^- w2) = (- wordToZ (w2 ^- w1))%Z.