Hint Resolve lt_M_2pw le_M_2pw : a.

(* Specifications: *)
(* <KEEP TOGETHER - d_eq *)
Lemma d_eq :
_Z d = x / 2 ^ p * 2 ^ p mod M \/
_Z d = x / 2 ^ p * 2 ^ p mod M + M.
Lemma d_Si_eq :
_Z d_Si = (h mod M * 2 ^ w + l) / 2 ^ p * 2 ^ p mod M \/
_Z d_Si = (h mod M * 2 ^ w + l) / 2 ^ p * 2 ^ p mod M + M \/
_Z d_Si = ((h mod M + M) * 2 ^ w + l) / 2 ^ p * 2 ^ p mod M \/
_Z d_Si = ((h mod M + M) * 2 ^ w + l) / 2 ^ p * 2 ^ p mod M + M.
Lemma d_Si_eq :
_Z d_Si = (h mod M * 2 ^ w + l) / 2 ^ p * 2 ^ p mod M \/
_Z d_Si = (h mod M * 2 ^ w + l) / 2 ^ p * 2 ^ p mod M + M \/
_Z d_Si = ((h mod M + M) * 2 ^ w + l) / 2 ^ p * 2 ^ p mod M \/
_Z d_Si = ((h mod M + M) * 2 ^ w + l) / 2 ^ p * 2 ^ p mod M + M.