| # bytes.butlast < n, # bytes < n, # bytes < n ⊦ bytes = [], # bytes = 1, fillsgn(n, bytes.butlast) = fillsgn(n, bytes).first ' + fillsgn(n, bytes).butlast |
# bytes < n ⊦ bytes = [], # bytes = 1, fillsgn(n, bytes.butlast) = fillsgn(n, bytes).first ' + fillsgn(n, bytes).butlast
Used simplifier rules: ⊦ m + n = n + m;% ⊦ (m + n0) + n1 = m + n0 + n1;% ⊦ m < n → ¬ n < m;% ⊦ m < n + 1 ↔ ¬ n < m;%n0 ≤ n ⊦ n - n0 < m ↔ n < m + n0;% ⊦ m ≠ n → (m ≤ n ↔ m < n);% ⊦ 1 < m ↔ ¬(m = 0 ∨ m = 1);% ⊦ # bytes = 0 ↔ bytes = [];% ⊦ bytes ≠ [] → # bytes.butlast = # bytes - 1;