| ¬(0 < b2i(by0) - 1 ∧ abs(band(b2i(by), 255)) < 256), (b2i(by0) - 1) * 256 + band(b2i(by), 255) < 0, (b2i(by0) - 1) * 256 + band(b2i(by), 255) = i, 256 * b2i(by0) + band(b2i(by), 255) = i + 256, 0 ≤ b2i(by0), ~129 < i, i < 0, ∀ bytes0. # bytes0 < #((by0 + []) + by ') → true → # bytes0 = # int2bytes(bytes2int(bytes0)) → bytes0 = int2bytes(bytes2int(bytes0)) ⊦ by = i2b(0), by0 ' + by ' = i2b(0) ' + i2b(i) ' |
(b2i(by0) - 1) * 256 + band(b2i(by), 255) < 0, ~129 < (b2i(by0) - 1) * 256 + band(b2i(by), 255), 0 ≤ b2i(by0), ∀ bytes0. # bytes0 < #((by0 + []) + by ') → true → # bytes0 = # int2bytes(bytes2int(bytes0)) → bytes0 = int2bytes(bytes2int(bytes0)) ⊦ by0 = i2b(0), by = i2b(0), ¬ b2i(by0) ≤ 1 ∧ ¬ 256 ≤ abs(band(b2i(by), 255))
Used simplifier rules: ⊦ j < i ∧ i ≤ 0 → j < 0; (forward)% ⊦ i < j ∧ j ≤ j0 → i < j0; (forward)% ⊦ ¬ i < j ↔ j ≤ i;% ⊦ i < j - i0 ↔ i + i0 < j;% ⊦ i < 0 ∧ 0 ≤ j → i < j;% ⊦ (bytes + bytes0) + bytes1 = bytes + bytes0 + bytes1;% ⊦ by ' = by0 ' ↔ by = by0;% ⊦ bytes + bytes0 = bytes1 + bytes0 ↔ bytes = bytes1;% ⊦ band(i, band(i0, j)) = band(band(i, i0), j);% ⊦ i2b(band(255, b2i(by))) = by;% ⊦ i2b(i * 256 + j) = i2b(j);% ⊦ i + j = i + i0 ↔ j = i0;% ⊦ i * j * j0 = (i * j) * j0;% ⊦ i + j = j + i;% ⊦ i + j + i0 = (i + j) + i0;% ⊦ i + (j - i) = j;% ⊦ i * j + i = i * (j + 1);% ⊦ i * j = j * i;% ⊦ band(i, j) = band(j, i);