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