| int2bytes(i) = i2b(0) ' + bytes, i < 2 ^ (8 * n→i(# int2bytes(i) - 1)), 2 ≤ # int2bytes(i), 0 ≤ i, 0 ≤ b2i(bytes.first), i2b(0) ∈ int2bytes(i) ⊦ bytes = [], # int2bytes(i) = n ↔ ¬ i < 2 ^ ((n→i(n) - 1) * 8 - 1) ∧ ¬ 2 ^ ((n→i(n) - 1) * 8) ≤ i ∧ n ≠ 0 |
Used simplifier rules: no-leading-zero-01: ⊦ 0 ≤ b2i(by) → int2bytes(i) ≠ i2b(0) ' + by ' + bytes;% ⊦ by + bytes = by ' + bytes;% ⊦ (bytes + bytes0) + bytes1 = bytes + bytes0 + bytes1;%⊦ bytes ≠ [] → (by = bytes.first ∧ bytes0 = bytes.rest ↔ bytes = by + bytes0); (elim) Used terms: bytes, by, bytes0