proposition: Lemma mod_pow2_same_bounds: forall a n, a mod 2 ^ n = a -> 0 <= n -> 0 <= a < 2 ^ n.
proof: Proof. intros. rewrite <- H. apply Z.mod_pos_bound. apply Z.pow_pos_nonneg; lia. Qed.
imports: Coq.Classes.Morphisms Coq.ZArith.BinInt Coq.micromega.Lia Coq.ZArith.ZArith