| # int2bits(j % 2 ^ (i * 8)).rest % 8 = 0, # int2bits(j % 2 ^ (i * 8)) = 1 + 8 * i→n(i), i→n(i) + 1 = # bits2bytes(int2bits(j % 2 ^ (i * 8)).rest) + # bits2bytes(false '), 2 ^ (i * 8) ≤ j, 0 < i, 0 ≤ j % 2 ^ (i * 8), 0 ≤ i ⊦ int2bits(j % 2 ^ (i * 8)).rest = [], bits2bytes(int2bits(j % 2 ^ (i * 8)).rest) = (bits2bytes(false ') + bits2bytes(int2bits(j % 2 ^ (i * 8)).rest)).rest |
⊦ # bits ≤ 8 → bits2bytes(bits) = i2b(bits2int(bits)) '
Used simplifier rules: ⊦ # boolvar ' = 0 +1;% ⊦ i * j = j * i;% ⊦ bits2int(false ') = 0;% ⊦ # by ' = 0 +1;% ⊦ m + n = m + n0 ↔ n = n0;% ⊦ (m + n0) + n1 = m + n0 + n1;% ⊦ m + n = n + m;% ⊦ (by ' + bytes).rest = bytes;% ⊦ (bytes + bytes0) + bytes1 = bytes + bytes0 + bytes1; Used terms: false '