| bytes = bytes.first ', 0 ≤ b2i(bytes.first), # bytes ≤ n, bytes2int(bytes.butlast) < 0 ⊦ # bytes = 1, bytes = [], fillsgn(n, bytes.butlast) = mklist(i2b(0), (n - # bytes) + 1) + bytes.butlast |
Used simplifier rules: ⊦ by + bytes = by ' + bytes;% ⊦ by ' = by0 ' + bytes ↔ by = by0 ∧ bytes = [];% ⊦ (bytes + bytes0) + bytes1 = bytes + bytes0 + bytes1;% ⊦ #(bytes + bytes0) = # bytes + # bytes0;% ⊦ # by ' = 0 +1;% ⊦ m + n = 1 ↔ m = 0 ∧ n = 1 ∨ n = 0 ∧ m = 1;% ⊦ # bytes = 0 ↔ bytes = [];% ⊦ (m + n0) + n1 = m + n0 + n1;% ⊦ m + n = n + m;%bytes ≠ [] ⊦ by = bytes.first ∧ bytes0 = bytes.rest ↔ bytes = by + bytes0; (elim) Used terms: bytes, by, bytes0