| # int2bits(j0) = i→n(i) + 1, int2bits(j0) = false ' + bits, 0 < i, j0 < 2 ^ i, 0 < j, 0 ≤ j, 0 < 2 ^ i, 0 ≤ j0, i→n(i) ≤ # bits, false ∈ int2bits(j0) ⊦ bits = [], i = 0, bitsinvert(uint2bits(j)) + mklist(true, i→n(i)) = [], 2 ^ n→i(# bits) = 2 ^ i |
⊦ 0 ≤ i ∧ 0 ≤ j → (2 ^ i = 2 ^ j ↔ i = j)
0 ≤ n→i(# bits) ∧ 0 ≤ i, # int2bits(j0) = i→n(i) + 1, int2bits(j0) = false ' + bits, 0 < i, j0 < 2 ^ i, 0 < j, 0 ≤ j, 0 < 2 ^ i, 0 ≤ j0, i→n(i) ≤ # bits, false ∈ int2bits(j0) ⊦ bits = [], i = 0, bitsinvert(uint2bits(j)) + mklist(true, i→n(i)) = [], n→i(# bits) = i
Used simplifier rules: ⊦ 0 ≤ n→i(n);% ⊦ ¬ i ≤ j ↔ j < i;% ⊦ i < j → ¬ j < i; Used terms: i, n→i(# bits)