| int2bytes(i1 / 256) = i2b(0) ' + bytes0, i1 < ~255, i1 < 0, i1 < ~383, i2b(0) ∈ int2bytes(i1 / 256), i1 / 256 ≤ 255 + i1, ∀ bytes, i0. i→n(i0) < i→n(i1 + 255) → int2bytes(i0) = i2b(0) ' + bytes ∧ i0 < 0 ∧ i2b(0) ∈ int2bytes(i0) → false ⊦ |
i1 = i * 256 + j ∧ j ≤ 0 ∧ abs(j) < 256 ∧ i ≤ 0 ∧ 0 < 256, int2bytes(i) = i2b(0) ' + bytes0, i1 < ~255, i1 < 0, i1 < ~383, i2b(0) ∈ int2bytes(i), i ≤ 255 + i1, ∀ bytes, i0. i→n(i0) < i→n(i1 + 255) → int2bytes(i0) = i2b(0) ' + bytes ∧ i0 < 0 ∧ i2b(0) ∈ int2bytes(i0) → false ⊦
Used simplifier rules: ⊦ ¬ i < j ↔ j ≤ i;% ⊦ i < j → (¬ ¬ j ≤ i ↔ false);%⊦ 0 < j ∧ i < 0 → ( i0 = i / j ∧ j0 = i % j ↔ i = i0 * j + j0 ∧ j0 ≤ 0 ∧ abs(j0) < j ∧ i0 ≤ 0); (elim) Used terms: i1, 256, i, j