apply Zlt_gt. apply lt_0_Zpow. auto with a. cut (p <= w). omega. auto with a. apply Zle_ge. auto with a. ring. Qed.

(* <KE EP TOGETHER - r'_i_eq *)
Lemma r'_i_eq : _Z r'_i = (h mod M * 2 ^ w + l) / 2 ^ p * 2 ^ p mod M + (h mod M * 2 ^ w + l mod 2 ^ p mod M) mod 2 ^ p \/
_Z r'_i = (h mod M * 2 ^ w + l) / 2 ^ p * 2 ^ p mod M + M + (h mod M * 2 ^ w + l mod 2 ^ p mod M) mod 2 ^ p.