| # bytes1 = # int2bytes((bytes2int(bytes1) * 256 + band(b2i(by), 255)) / 256 - 1), bytes2int(bytes1) * 256 + band(b2i(by), 255) < 0, bytes2int(bytes1) * 256 + band(b2i(by), 255) < ~256, ∀ bytes0. # bytes0 < #(bytes1 + by ') → true → # bytes0 = # int2bytes(bytes2int(bytes0)) → bytes0 = int2bytes(bytes2int(bytes0)) ⊦ bytes1 + by ' = int2bytes((bytes2int(bytes1) * 256 + band(b2i(by), 255)) / 256 - 1) + int2bytes((bytes2int(bytes1) * 256 + band(b2i(by), 255)) % 256).last ', bytes1 = [], bytes2int(bytes1) * 256 + band(b2i(by), 255) = ~256, (bytes2int(bytes1) * 256 + band(b2i(by), 255)) % 256 = 0, band(b2i(by), 255) % 256 = 0 ∧ ¬ 0 ≤ bytes2int(bytes1) |
0 ≤ bytes2int(bytes1), # bytes1 = # int2bytes((bytes2int(bytes1) * 256 + band(b2i(by), 255)) / 256 - 1), bytes2int(bytes1) * 256 + band(b2i(by), 255) < 0, bytes2int(bytes1) * 256 + band(b2i(by), 255) < ~256, ∀ bytes0. # bytes0 < #(bytes1 + by ') → true → # bytes0 = # int2bytes(bytes2int(bytes0)) → bytes0 = int2bytes(bytes2int(bytes0)) ⊦ bytes1 + by ' = int2bytes((bytes2int(bytes1) * 256 + band(b2i(by), 255)) / 256 - 1) + int2bytes((bytes2int(bytes1) * 256 + band(b2i(by), 255)) % 256).last ', bytes1 = [], bytes2int(bytes1) * 256 + band(b2i(by), 255) = ~256, (bytes2int(bytes1) * 256 + band(b2i(by), 255)) % 256 = 0, band(b2i(by), 255) % 256 = 0 ∧ ¬ 0 ≤ bytes2int(bytes1)
# bytes1 = # int2bytes((bytes2int(bytes1) * 256 + band(b2i(by), 255)) / 256 - 1), bytes2int(bytes1) * 256 + band(b2i(by), 255) < 0, bytes2int(bytes1) * 256 + band(b2i(by), 255) < ~256, ∀ bytes0. # bytes0 < #(bytes1 + by ') → true → # bytes0 = # int2bytes(bytes2int(bytes0)) → bytes0 = int2bytes(bytes2int(bytes0)) ⊦ 0 ≤ bytes2int(bytes1), bytes1 + by ' = int2bytes((bytes2int(bytes1) * 256 + band(b2i(by), 255)) / 256 - 1) + int2bytes((bytes2int(bytes1) * 256 + band(b2i(by), 255)) % 256).last ', bytes1 = [], bytes2int(bytes1) * 256 + band(b2i(by), 255) = ~256, (bytes2int(bytes1) * 256 + band(b2i(by), 255)) % 256 = 0, band(b2i(by), 255) % 256 = 0 ∧ ¬ 0 ≤ bytes2int(bytes1)
Used formulas: 0 ≤ bytes2int(bytes1)