Remark two_p_range:
  forall n,
  0 <= n < zwordsize ->
  0 <= two_p n <= max_unsigned.Remark Z_one_bits_zero:
  forall n i, Z_one_bits n 0 i = nil.Remark Z_one_bits_two_p:
  forall n x i,
  0 <= x < Z.of_nat n ->
  Z_one_bits n (two_p x) i = (i + x) :: nil.

Lemma Ztestbit_mod_two_p: forall n x i, 0 <= n -> 0 <= i -> Z.testbit (x mod (two_p n)) i = if zlt i n then Z.testbit x i else false.