intros sz n H.
destruct (wordToNat_natToWord sz n) as [x]; intuition.
destruct x as [|x].
simpl in *; omega.
simpl in *.
apply Nlt_out in H.
autorewrite with N in *.
rewrite Npow2_nat in *.
generalize dependent (x * pow2 sz).
intros; omega.
Qed.

(* Specifications: *)
Lemma wplus_cancel : forall sz (a b c : word sz),
a ^+ c = b ^+ c
-> a = b.