rewrite <- Zmod_plus_distr_l. trivial. omega. omega. omega. right. rewrite Zmod_plus_distr_l. rewrite <- Zmod_mult_distr_l.
rewrite <- Zmod_plus_distr_l. trivial. omega. omega. omega. elim H; intro H0; rewrite H0. left. rewrite r'0_eq_5. trivial.
rewrite r'0_eq_5. right. trivial. Qed.

(* Specifications: *)
(* <KE EP TOGETHER - r''0_eq *) (* TO DO *)
Lemma r''0_eq : _Z r''0 = x mod M.
unfold r''0. unfold r''0. (* Proof General beta oddity *) elim r'0_eq; intro H. rewrite ltw_true. trivial. rewrite H. apply Zmod_lt_z_m. fold M. omega. rewrite ltw_false.