| int2bytes(i1 / 256) = i2b(0) ' + by ' + bytes0, 0 ≤ b2i(by), i1 < ~383, i1 < 0, i2b(0) ∈ int2bytes(i1 / 256), ∀ bytes, by, i0. i→n(i0) < i→n(i1 + 255) → int2bytes(i0) = i2b(0) ' + by ' + bytes ∧ 0 ≤ b2i(by) ∧ i2b(0) ∈ int2bytes(i0) → false ⊦ i→n(i1 / 256) < i→n(i1 + 255) |
int2bytes(i1 / 256) = i2b(0) ' + by ' + bytes0, abs(i1 + 255) + i1 / 256 ≤ 0, i2b(0) ∈ int2bytes(i1 / 256), i1 < 0, i1 < ~383, 0 ≤ b2i(by), ∀ bytes, by, i0. i→n(i0) < i→n(i1 + 255) → int2bytes(i0) = i2b(0) ' + by ' + bytes ∧ 0 ≤ b2i(by) ∧ i2b(0) ∈ int2bytes(i0) → false ⊦
Used simplifier rules: ⊦ i ≤ 0 ∧ 0 ≤ j → i ≤ j;% ⊦ j ≤ i ∧ i ≤ 0 → j ≤ 0; (forward)% ⊦ j ≤ j0 ∧ j0 ≤ j1 → j ≤ j1; (forward)% ⊦ ¬ i < j ↔ j ≤ i;% ⊦ ~ i < j ↔ 0 < j + i;%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);