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