| 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) |
int2bytes(i / 256 - 1) + i2b(i % 256) ' = i2b(~1) ' + by ' + bytes, i2b(i % 256) ∈ bytes, b2i(by) < 0, i < ~256, i < 0, i / 256 ≤ i + 1, ∀ 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: ⊦ i + 0 = i;% ⊦ i ≤ j - i0 ↔ i + i0 ≤ j;% ⊦ i + (j - i0) = i + j - i0;% ⊦ i + j = j + i;% ⊦ i + j + i0 = (i + j) + i0;% ⊦ i + ~ j = i - j;% ⊦ ~(i - 1) = ~ i + 1;% ⊦ 0 - i = ~ i;%j0 ≠ 0, j < j0 ⊦ i < (* j) → i < (* j0);% ⊦ 0 < j → (i / j ≤ 0 ↔ i < j);% ⊦ i < 1 ↔ i ≤ 0;% ⊦ i - j < i0 ↔ i < j + i0;