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