| bytes1 = int2bytes(bytes2int(bytes1)), 0 < band(b2i(by), 255), 127 < band(b2i(by), 255), 0 ≤ bytes2int(bytes1), 0 ≤ band(b2i(by), 255), 0 < bytes2int(bytes1) * 256 + band(b2i(by), 255), 255 < bytes2int(bytes1) * 256 + band(b2i(by), 255), band(b2i(by), 255) < 256, ∀ bytes0. # bytes0 < #(bytes1 + by ') → true → # bytes0 = # int2bytes(bytes2int(bytes0)) → bytes0 = int2bytes(bytes2int(bytes0)) ⊦ bytes1 = [], by = int2bytes(band(b2i(by), 255)).last |
127 < i, i ≤ 255 ⊦ int2bytes(i) = i2b(0) ' + i2b(i - 256) '
127 < band(b2i(by), 255) ∧ band(b2i(by), 255) ≤ 255, bytes1 = int2bytes(bytes2int(bytes1)), 0 < band(b2i(by), 255), 127 < band(b2i(by), 255), 0 ≤ bytes2int(bytes1), 0 ≤ band(b2i(by), 255), 0 < bytes2int(bytes1) * 256 + band(b2i(by), 255), 255 < bytes2int(bytes1) * 256 + band(b2i(by), 255), band(b2i(by), 255) < 256, ∀ bytes0. # bytes0 < #(bytes1 + by ') → true → # bytes0 = # int2bytes(bytes2int(bytes0)) → bytes0 = int2bytes(bytes2int(bytes0)) ⊦ bytes1 = [], by = (i2b(0) ' + i2b(band(b2i(by), 255) - 256) ').last
Used simplifier rules: ⊦ band(i, j) = band(j, i);%i0 ≠ 0, i0 ≤ i ⊦ (* i) < j → (* i0) < j;% ⊦ ¬ i ≤ j ↔ j < i;%i + 1 = i0 ⊦ j < (* i0) → ¬ (* i) < j; Used terms: band(b2i(by), 255)