| i→n(i * 8) % 8 = 0, bits2int(firstn(# int2bits(j % 2 ^ (i * 8)) % 8, int2bits(j % 2 ^ (i * 8)))) < ~128, b2i(i2b(bits2int(firstn(# int2bits(j % 2 ^ (i * 8)) % 8, int2bits(j % 2 ^ (i * 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)), 1 < i, 0 < i, bits2int(firstn(# int2bits(j % 2 ^ (i * 8)) % 8, int2bits(j % 2 ^ (i * 8)))) < 0 ⊦ # 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, i2b(bits2int(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 |
n ≠ 0 ⊦ firstn((* n), bits) = bits.first ' + firstn(n -1, bits.rest)
Used simplifier rules: ⊦ i * j = j * i;% ⊦ int2bits(j).first ↔ j < 0;% ⊦ ¬ i < j ↔ j ≤ i;% ⊦ i ≤ 0 ∧ 0 ≤ j → i ≤ j;% ⊦ n -1 = n - 1;% ⊦ bits2int(false ' + bits) = bits2uint(bits);% ⊦ (bits + bits0) + bits1 = bits + bits0 + bits1;% ⊦ i ≤ j → (¬ ¬ j < i ↔ false);% ⊦ ¬ bits2uint(bits) < 0; Used terms: int2bits(j % 2 ^ (i * 8)), # int2bits(j % 2 ^ (i * 8)) % 8