| 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)) ⊦ 256 * (b2i(by0) - 1) + band(b2i(by), 255) = i, by = i2b(0), by0 ' + by ' = i2b(0) ' + i2b(i) ' |
Used simplifier rules: ⊦ band(i, j) = band(j, i);% ⊦ i < j ∧ j ≤ j0 → i < j0; (forward)% ⊦ i ≤ j ∧ 0 ≤ i → 0 ≤ j; (forward)% ⊦ i * (i0 + 1) + j = i + j0 ↔ i * i0 + j = j0;% ⊦ i + j + i0 = (i + j) + i0;% ⊦ i + j = j + i;% ⊦ i * j * j0 = (i * j) * j0;% ⊦ i * j = j * i;% ⊦ i0 = i - j ↔ i = i0 + j; (elim) Used terms: b2i(by0), 1, i0