| # int2bits(j % 2 ^ (i * 8)) ≤ 8, i→n(i * 8) % 8 = 0, 0 ≤ bytes2int(i2b(bits2int(int2bits(j % 2 ^ (i * 8)))) '), # int2bits(j % 2 ^ (i * 8)) < 8, 0 ≤ j % 2 ^ (i * 8), 2 ^ (i * 8) ≤ j, 0 < i, # int2bits(j % 2 ^ (i * 8)) < i→n(i * 8) ⊦ mklist(false, 8 - # int2bits(j % 2 ^ (i * 8))) + int2bits(j % 2 ^ (i * 8)) = [], bits2bytes(mklist(false, 8 - # int2bits(j % 2 ^ (i * 8))) + int2bits(j % 2 ^ (i * 8))) = i2b(bits2int(int2bits(j % 2 ^ (i * 8)))) ', i = 0, # int2bits(j % 2 ^ (i * 8)) = i→n(i * 8), i→n(i * 8) + 1 = # int2bits(j % 2 ^ (i * 8)), mklist(false, 8 * (i→n(i) - 1)) + mklist(false, 8 - # int2bits(j % 2 ^ (i * 8))) + int2bits(j % 2 ^ (i * 8)) = [], i→n(i) - 1 = 0 |
i→n(i * 8) % 8 = 0, # int2bits(j % 2 ^ (i * 8)) < 8, 0 ≤ j % 2 ^ (i * 8), 2 ^ (i * 8) ≤ j, 0 < i, # int2bits(j % 2 ^ (i * 8)) < i→n(i * 8), 0 ≤ b2i(i2b(j % 2 ^ (i * 8))) ⊦ i = 0, # int2bits(j % 2 ^ (i * 8)) = i→n(i * 8), i→n(i * 8) + 1 = # int2bits(j % 2 ^ (i * 8)), mklist(false, 8 * (i→n(i) - 1)) + mklist(false, 8 - # int2bits(j % 2 ^ (i * 8))) + int2bits(j % 2 ^ (i * 8)) = [], i→n(i) - 1 = 0, mklist(false, 8 - # int2bits(j % 2 ^ (i * 8))) + int2bits(j % 2 ^ (i * 8)) = [], bits2bytes(mklist(false, 8 - # int2bits(j % 2 ^ (i * 8))) + int2bits(j % 2 ^ (i * 8))) = i2b(j % 2 ^ (i * 8)) '
Used simplifier rules: bytes2int-one: ⊦ bytes2int(by ') = b2i(by);% ⊦ i ≤ j ∧ 0 ≤ i → 0 ≤ j; (forward)% ⊦ m < n → m ≤ n;% ⊦ i * j = j * i;% ⊦ bits2int(int2bits(i)) = i;