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.

Theorem shl_mul: forall x y, shl x y = mul x (shl one y).