| i % 2 ≠ 1, 0 < i, 0 ≤ i, ∀ i0. i→n(i0) < i→n(i) → 0 ≤ i0 → bits2uint(uint2bits(i0)) = i0 ⊦ i = 1, bits2uint(uint2bits(i / 2) + (i % 2 = 1)') = i |
i % 2 = 0, 0 < i, 0 ≤ i, ∀ i0. i→n(i0) < i→n(i) → 0 ≤ i0 → bits2uint(uint2bits(i0)) = i0 ⊦ i = 1, bits2uint(uint2bits(i / 2)) * 2 = i
Used simplifier rules: bits2uint-zero: ⊦ bits2uint(bits + false ') = bits2uint(bits) * 2;% ⊦ i < j ∧ i = i0 → i0 < j; (forward)% ⊦ i % 2 ≠ 1 ∧ 0 < i → i % 2 = 0; (forward)% ⊦ (bits + bits0) + bits1 = bits + bits0 + bits1;