| n→i(n) - 1 ≤ n→i(# int2bytes(i)), i < 2 ^ (8 * n→i(# int2bytes(i)) - 1), 0 ≤ i, 2 ^ (8 * (n→i(# int2bytes(i)) - 1)) ≤ i, # int2bytes(i) < n, 2 ^ ((n→i(n) - 1) * 8) ≤ i, 1 + 8 * (n→i(# int2bytes(i)) - 1) < 8 * n→i(# int2bytes(i)), (n→i(n) - 1) * 8 + 1 < 8 * n→i(# int2bytes(i)), 1 ≤ # int2bytes(i) ⊦ int2bytes(i).first = i2b(0), n = 1 |
i < 2 ^ (8 * n→i(# int2bytes(i)) - 1), 0 ≤ i, 2 ^ (8 * (n→i(# int2bytes(i)) - 1)) ≤ i, # int2bytes(i) < n, 2 ^ ((n→i(n) - 1) * 8) ≤ i, 1 + 8 * (n→i(# int2bytes(i)) - 1) < 8 * n→i(# int2bytes(i)), (n→i(n) - 1) * 8 + 1 < 8 * n→i(# int2bytes(i)), 1 ≤ # int2bytes(i), n→i(n) ≤ 1 + n→i(# int2bytes(i)) ⊦ int2bytes(i).first = i2b(0), n = 1
Used simplifier rules: ⊦ i * j = j * i;% ⊦ i + j = j + i;% ⊦ i + j + i0 = (i + j) + i0;% ⊦ i - j ≤ i0 ↔ i ≤ j + i0;