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