| i→n(i * 8) % 8 = 0, 0 ≤ j % 2 ^ (i * 8), 2 ^ (i * 8) ≤ j, # int2bits(j % 2 ^ (i * 8)) < i→n(i * 8), 8 < # int2bits(j % 2 ^ (i * 8)), b2i (( 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)))) ).first) < 0, 1 < i, 0 < i ⊦ # int2bits(j % 2 ^ (i * 8)) % 8 = 0, i = 0, # int2bits(j % 2 ^ (i * 8)) = i→n(i * 8), i→n(i * 8) + 1 = # int2bits(j % 2 ^ (i * 8)), mklist(false, i→n(i * 8) - # int2bits(j % 2 ^ (i * 8))) + int2bits(j % 2 ^ (i * 8)) = [], bits2bytes(mklist(false, i→n(i * 8) - # int2bits(j % 2 ^ (i * 8))) + int2bits(j % 2 ^ (i * 8))) = fix (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))))) .rest |
⊦ bytes ≠ [] → (bytes + bytes0).first = bytes.first
bits2bytes(firstn(# int2bits(j % 2 ^ (i * 8)) % 8, int2bits(j % 2 ^ (i * 8)))) ≠ [], i→n(i * 8) % 8 = 0, 0 ≤ j % 2 ^ (i * 8), 2 ^ (i * 8) ≤ j, # int2bits(j % 2 ^ (i * 8)) < i→n(i * 8), 8 < # int2bits(j % 2 ^ (i * 8)), b2i(bits2bytes(firstn(# int2bits(j % 2 ^ (i * 8)) % 8, int2bits(j % 2 ^ (i * 8)))).first) < 0, 1 < i, 0 < i ⊦ # int2bits(j % 2 ^ (i * 8)) % 8 = 0, i = 0, # int2bits(j % 2 ^ (i * 8)) = i→n(i * 8), i→n(i * 8) + 1 = # int2bits(j % 2 ^ (i * 8)), mklist(false, i→n(i * 8) - # int2bits(j % 2 ^ (i * 8))) + int2bits(j % 2 ^ (i * 8)) = [], bits2bytes(mklist(false, i→n(i * 8) - # int2bits(j % 2 ^ (i * 8))) + int2bits(j % 2 ^ (i * 8))) = fix (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))))) .rest
Used simplifier rules: bits2bytes-empty: ⊦ bits2bytes(bits) ≠ [];% ⊦ i * j = j * i; Used terms: bits2bytes (restn(# int2bits(j % 2 ^ (i * 8)) % 8, int2bits(j % 2 ^ (i * 8)))), bits2bytes (firstn(# int2bits(j % 2 ^ (i * 8)) % 8, int2bits(j % 2 ^ (i * 8))))