| i→n(i) + 1 = # bits2bytes(int2bits(j % 2 ^ (i * 8))), # int2bits(j % 2 ^ (i * 8)).rest % 8 = 0, # int2bits(j % 2 ^ (i * 8)) = i→n(i * 8) + 1, 2 ^ (i * 8) ≤ j, 0 < i ⊦ int2bits(j % 2 ^ (i * 8)).rest = [], bits2bytes(int2bits(j % 2 ^ (i * 8)).rest) = bits2bytes(int2bits(j % 2 ^ (i * 8))).rest |
⊦ # bits % 8 ≠ 0 ∧ 8 < # bits → bits2bytes(bits) = bits2bytes(firstn(# bits % 8, bits)) + bits2bytes(restn(# bits % 8, bits))
¬(# int2bits(j % 2 ^ (i * 8)) % 8 ≠ 0 ∧ 8 < # int2bits(j % 2 ^ (i * 8))), i→n(i) + 1 = # bits2bytes(int2bits(j % 2 ^ (i * 8))), # int2bits(j % 2 ^ (i * 8)).rest % 8 = 0, # int2bits(j % 2 ^ (i * 8)) = i→n(i * 8) + 1, 2 ^ (i * 8) ≤ j, 0 < i ⊦ int2bits(j % 2 ^ (i * 8)).rest = [], bits2bytes(int2bits(j % 2 ^ (i * 8)).rest) = bits2bytes(int2bits(j % 2 ^ (i * 8))).rest
# int2bits(j % 2 ^ (i * 8)) % 8 ≠ 0 ∧ 8 < # int2bits(j % 2 ^ (i * 8)), i→n(i) + 1 = # ( bits2bytes(firstn(# int2bits(j % 2 ^ (i * 8)) % 8, int2bits(j % 2 ^ (i * 8)))) + bits2bytes(restn(# int2bits(j % 2 ^ (i * 8)) % 8, int2bits(j % 2 ^ (i * 8))))), # int2bits(j % 2 ^ (i * 8)).rest % 8 = 0, # int2bits(j % 2 ^ (i * 8)) = i→n(i * 8) + 1, 2 ^ (i * 8) ≤ j, 0 < i ⊦ int2bits(j % 2 ^ (i * 8)).rest = [], bits2bytes(int2bits(j % 2 ^ (i * 8)).rest) = ( bits2bytes(firstn(# int2bits(j % 2 ^ (i * 8)) % 8, int2bits(j % 2 ^ (i * 8)))) + bits2bytes(restn(# int2bits(j % 2 ^ (i * 8)) % 8, int2bits(j % 2 ^ (i * 8)))) ).rest
Used terms: int2bits(j % 2 ^ (i * 8))