| bytes = by + bytes0, by = i2b(0), b2i(bytes0.first) < 0, 2 ≤ # bytes ⊦ int2bytes(bytes2int(bytes)) = bytes, bytes = [] |
b2i(bytes0.first) < 0, 1 ≤ # bytes0 ⊦ int2bytes(bytes2int(i2b(0) ' + bytes0)) = i2b(0) ' + bytes0, bytes0 = []
Used simplifier rules: ⊦ # bytes = 0 ↔ bytes = [];% ⊦ j < i ∧ i ≤ 0 → j < 0; (forward)%0 < n ⊦ (* n) ≤ m → m ≠ 0; (forward)% ⊦ m + n = n + m;% ⊦ (m + n0) + n1 = m + n0 + n1;%n0 < n ⊦ (* n) ≤ m0 + (* n0) ↔ n - n0 ≤ m0;% ⊦ # by ' = 0 +1;% ⊦ #(bytes + bytes0) = # bytes + # bytes0;% ⊦ (bytes + bytes0) + bytes1 = bytes + bytes0 + bytes1;% ⊦ by ' + bytes ≠ [];% ⊦ by + bytes = by ' + bytes;