| # bytes < n ⊦ bytes = [], # bytes = 1, fillsgn(n + 1, bytes).butlast = fillsgn(n, bytes).first ' + fillsgn(n, bytes).butlast |
fillsgn(n, bytes) = by + bytes0 ∧ fillsgn(n, bytes) ≠ [], # bytes < n ⊦ bytes = [], # bytes = 1, fillsgn(n + 1, bytes).butlast = by ' + fillsgn(n, bytes).butlast
Used simplifier rules: fillsgn-empty: ⊦ fillsgn(n, bytes) = [] ↔ n = 0 ∧ bytes = [];% ⊦ m < n → n ≠ 0;%bytes ≠ [] ⊦ by = bytes.first ∧ bytes0 = bytes.rest ↔ bytes = by + bytes0; (elim) Used terms: fillsgn(n, bytes), by, bytes0