apply Zmult_le_compat. auto with a. auto with a. cut (r''0 < 2 ^ p). omega. apply r''0_small. omega. auto with a.
apply le_0__Z. auto with a. cut (x_i < 2 ^ w). omega. unfold x_i. apply lt_z__Z. rewrite Zmult_minus_distr_r.
rewrite <- Zpower_exp. omega. auto with a. apply Zle_ge. auto with a. apply Zle_ge. auto with a. Qed.

(* Specifications: *)
Lemma le_x'_x'max : x' <= 2 ^ (p + w) - 1.
cut (x' < 2 ^ (p + w)). omega. exact lt_x'_x'max. Qed.