| # int2bits(j % 2 ^ (i * 8)) = n * 8, bytes2bits(bits2bytes(int2bits(j % 2 ^ (i * 8)))).first, n < i→n(i), 2 ^ (i * 8) ≤ j, 0 ≤ j % 2 ^ (i * 8), 0 < i ⊦ bits2bytes(mklist(false, 8 * i→n(i) - n * 8) + int2bits(j % 2 ^ (i * 8))) = fix(i→n(i) + 1, bits2bytes(int2bits(j % 2 ^ (i * 8)))).rest, mklist(false, 8 * i→n(i) - n * 8) + int2bits(j % 2 ^ (i * 8)) = [], 1 + 8 * i→n(i) = n * 8, n = i→n(i), i = 0 |
⊦ # bits % 8 = 0 ∧ bits ≠ [] → bytes2bits(bits2bytes(bits)) = bits
Used simplifier rules: ⊦ i ≤ j → (¬ ¬ j < i ↔ false);% ⊦ int2bits(j).first ↔ j < 0;% ⊦ i * j = j * i;% ⊦ int2bits(j) ≠ [];%n ≠ 0 ⊦ (m * n) % n = 0;% ⊦ m0 * m * n = (m0 * m) * n;% ⊦ m * n = n * m; Used terms: int2bits(j % 2 ^ (i * 8))