| int2bytes(i / 256 - 1) + i2b(i % 256) ' = i2b(~1) ' + by ' + bytes, 0 ≤ abs(i / 256 - 1) + i, i2b(i % 256) ∈ bytes, b2i(by) < 0, i < ~256, i < 0, ∀ bytes, by, i0. i→n(i0) < i→n(i) → true → b2i(by) < 0 → int2bytes(i0) ≠ i2b(~1) ' + by ' + bytes ⊦ i % 256 = 0, bytes = [], ¬ i2b(~1) ∈ int2bytes(i / 256 - 1) ∧ i2b(~1) ≠ i2b(i % 256) |
⊦ j < 0 → abs(j) = 0 - j
i / 256 - 1 < 0, int2bytes(i / 256 - 1) + i2b(i % 256) ' = i2b(~1) ' + by ' + bytes, 0 ≤ (0 - (i / 256 - 1)) + i, i2b(i % 256) ∈ bytes, b2i(by) < 0, i < ~256, i < 0, ∀ bytes, by, i0. i→n(i0) < i→n(i) → true → b2i(by) < 0 → int2bytes(i0) ≠ i2b(~1) ' + by ' + bytes ⊦ i % 256 = 0, bytes = [], ¬ i2b(~1) ∈ int2bytes(i / 256 - 1) ∧ i2b(~1) ≠ i2b(i % 256)
Used simplifier rules: ⊦ ¬ j < 0 → abs(j) = j;% ⊦ i + (j - i0) = i + j - i0;% ⊦ i + j + i0 = (i + j) + i0;% ⊦ i + j = j + i;% ⊦ i ≤ j - i0 ↔ i + i0 ≤ j;% ⊦ 1 ≤ i ↔ 0 < i;% ⊦ i - j < i0 ↔ i < j + i0;% ⊦ i < 1 ↔ i ≤ 0;% ⊦ 0 < j → (i / j ≤ 0 ↔ i < j);%j0 ≠ 0, j < j0 ⊦ i < (* j) → i < (* j0); Used terms: i / 256 - 1