| fillsgn(n, bytes) = by + bytes0 ∧ fillsgn(n, bytes) ≠ [], # bytes < n ⊦ bytes = [], # bytes = 1, fillsgn(n + 1, bytes).butlast = by ' + fillsgn(n, bytes).butlast |
fillsgn(n, bytes) = by ' + bytes0, # bytes < n, by ∈ fillsgn(n, bytes) ⊦ bytes = [], # bytes = 1, fillsgn(n + 1, bytes).butlast = by ' + fillsgn(n, bytes).butlast, fillsgn(n, bytes) = []
Used simplifier rules: ⊦ (bytes + bytes0) + bytes1 = bytes + bytes0 + bytes1;% ⊦ by ' + bytes = bytes0 → by ∈ bytes0; (forward)% ⊦ by + bytes = by ' + bytes;