| 2 ^ i ≤ j, j < 2 ^ (i + 1), 0 < j, 0 < 2 ^ (i + 1), 0 ≤ 2 ^ (i + 1), 1 < 2 ^ (i + 1), 0 < i, ∀ j0, i. i→n(j0) < i→n(j) → 0 ≤ i ∧ 2 ^ i ≤ j0 ∧ j0 < 2 ^ (i + 1) → # uint2bits(j0) = i→n(i + 2) ⊦ # uint2bits(j / 2) + 1 = i→n(i + 2), j = 1, 0 = i, ¬ 2 ^ i ≤ j / 2 ∧ ¬ j / 2 < 2 ^ (i - 1) |
i = i0 + 1, 2 ^ i ≤ j, j < 2 ^ (i + 1), 0 < j, 0 < 2 ^ (i + 1), 0 ≤ 2 ^ (i + 1), 1 < 2 ^ (i + 1), 0 < i, ∀ j0, i. i→n(j0) < i→n(j) → 0 ≤ i ∧ 2 ^ i ≤ j0 ∧ j0 < 2 ^ (i + 1) → # uint2bits(j0) = i→n(i + 2) ⊦ # uint2bits(j / 2) + 1 = i→n(i + 2), j = 1, 0 = i, ¬ 2 ^ i ≤ j / 2 ∧ ¬ j / 2 < 2 ^ i0
Used simplifier rules: ⊦ i0 = i - j ↔ i = i0 + j; (elim) Used terms: i, 1, i0