| n ≤ # int2bits((i - 1) / 2), j ≤ 1 + n→i(n - 1), i < 0, i < ~1, # int2bits(i) ≤ n, j ≤ n→i(n), 2 ^ (n→i(n) - j) ≤ >>>(n - 1, (i - 1) / 2, j - 1), 1 < j, 0 < j, # int2bits(i) ≤ # int2bits((i - 1) / 2), ∀ n, i, j0. i→n(j0) < i→n(j) → 0 < j0 ∧ i < 0 ∧ 2 ^ (n→i(n) - j0) ≤ >>>(n, i, j0) ∧ j0 ≤ n→i(n) ∧ # int2bits(i) ≤ n → n = 0 ⊦ n = 1, n = 0, n - 1 = 0 |
⊦ j < ~1 → int2bits(j) = int2bits((j - 1) / 2) + int2bits(j % 2)
Used simplifier rules: ⊦ #(bits + bits0) = # bits + # bits0;% ⊦ (bits + bits0) + bits1 = bits + bits0 + bits1;% ⊦ m + m0 ≤ m ↔ m0 = 0;% ⊦ # bits = 0 ↔ bits = [];% ⊦ int2bits(j) ≠ [];% ⊦ (m + n0) + n1 = m + n0 + n1;% ⊦ m + n = n + m; Used terms: i