| fillsgn(m + 1, bits0) ≠ [], (# fillsgn(m + 1, bits0))-1 < m, # bits0 ≤ m ⊦ lastn(m, bits + fillsgn(m + 1, bits0).rest) = fillsgn(m, bits0) |
# bits0 ≤ m, # fillsgn(m + 1, bits0) ≤ m ⊦ lastn(m, bits + fillsgn(m + 1, bits0).rest) = fillsgn(m, bits0), fillsgn(m + 1, bits0) = []
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 ↔ n < m;% ⊦ m < 1 ↔ m = 0;% ⊦ # bits = 0 ↔ bits = [];% ⊦ n -1 = n - 1;