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