pub broadcast proof fn axiom_u32_trailing_zeros(i: u32)
Expand description
ensures
0 <= #[trigger] u32_trailing_zeros(i) <= 32,
i == 0 <==> u32_trailing_zeros(i) == 32,
0 <= u32_trailing_zeros(i) < 32 ==> (i >> u32_trailing_zeros(i) as u32) & 1u32 == 1u32,
i << sub(32, u32_trailing_zeros(i) as u32) == 0,
forall |j: u32| 0 <= j < u32_trailing_zeros(i) ==> #[trigger] (i >> j) & 1u32 == 0u32,