| int2bits(j) ≠ [], 0 < j, 8 = (# int2bits(j))-1, 9 ≤ # int2bits(j), 0 ≤ i0, 127 < j, 127 < i0 * 256 + j, 64 ≤ i0 * 256 + j, j < 256, 0 < j, 0 ≤ j, 0 < i0 * 256 + j, 0 < i0 ⊦ j = b2i(i2b(j - 2 ^ (n→i(# uint2bits(j)) - 1))) + 256, 0 = i0 * 256 + j, int2bits(j).rest.first |
8 = # int2bits(j) - 1, 9 ≤ # int2bits(j), 0 ≤ i0, 127 < j, 127 < i0 * 256 + j, 64 ≤ i0 * 256 + j, j < 256, 0 < j, 0 ≤ j, 0 < i0 * 256 + j, 0 < i0 ⊦ j = b2i(i2b(j - 2 ^ (n→i(# uint2bits(j)) - 1))) + 256, 0 = i0 * 256 + j, int2bits(j).rest.first
Used simplifier rules: ⊦ int2bits(j) ≠ [];% ⊦ i + j = j + i;% ⊦ i + j + i0 = (i + j) + i0;% ⊦ n -1 = n - 1;