Local Hint Resolve lt_p_w le_p_w le_0_wmp : a.

(* Specifications: *)
(* <KEEP TOGETHER - s'_eq *)
Lemma s'_eq : _Z s' = x mod 2 ^ w - x mod 2 ^ p.
unfold s'. rewrite Z_from_multp2. fold p. rewrite s_eq. rewrite Zmult_comm. rewrite modred.
Lemma lt_M_2pw : M < 2 ^ w.
unfold M. apply lt_z__Z. Qed.
Lemma le_M_2pw : M <= 2 ^ w.
apply Zlt_le_weak. exact lt_M_2pw. Qed.
Lemma lt_M_2pw : M < 2 ^ w.
unfold M. apply lt_z__Z. Qed.
Lemma le_M_2pw : M <= 2 ^ w.
apply Zlt_le_weak. exact lt_M_2pw. Qed.