| # bytes ≤ n ⊦ fillsgn(n, bytes.butlast) = fillsgn(n + 1, bytes).butlast, # bytes = 1, bytes = [] |
⊦ # bytes < n ∧ bytes2int(bytes) < 0 → fillsgn(n, bytes) = mklist(i2b(~1), n - # bytes) + bytes
¬(# bytes < n + 1 ∧ bytes2int(bytes) < 0), # bytes ≤ n ⊦ fillsgn(n, bytes.butlast) = fillsgn(n + 1, bytes).butlast, # bytes = 1, bytes = []
# bytes < n + 1 ∧ bytes2int(bytes) < 0, # bytes ≤ n ⊦ fillsgn(n, bytes.butlast) = (mklist(i2b(~1), n + 1 - # bytes) + bytes).butlast, # bytes = 1, bytes = []
Used terms: bytes, n + 1