trivial. apply lt_0_Zpow. auto with a. intro H0. right. rewrite H. rewrite H0. rewrite Zdivmod_split. trivial. apply lt_0_Zpow.
auto with a. omega. Qed.

(* Specifications: *)
Lemma r'0_eq_9 :
(_Z r'0 = (h mod M * 2 ^ w + l) mod M \/ _Z r'0 = (h mod M * 2 ^ w + l) mod M + M) \/
(_Z r'0 = ((h mod M + M) * 2 ^ w + l) mod M \/ _Z r'0 = ((h mod M + M) * 2 ^ w + l) mod M + M).