| n ≤ # y + 1, ∀ x0, n. # x0 < #(y + a ') → n ≤ # x0 → butlastn(n, x0) + lastn(n, x0) = x0 ⊦ butlastn(n, y + a ') + lastn(n, y + a ') = y + a ' |
0 < n ⊦ lastn((* n), x + a ') = lastn(n -1, x) + a '
0 < n, n ≤ # y + 1, ∀ x0, n. # x0 < #(y + a ') → n ≤ # x0 → butlastn(n, x0) + lastn(n, x0) = x0 ⊦ butlastn(n, y + a ') + lastn(n -1, y) + a ' = y + a '
Used simplifier rules: lastN-zero: ⊦ lastn(0, x) = [];% ⊦ 0 < m ↔ m ≠ 0; (s)% ⊦ butlastn(0, x) = x; (s)% ⊦ x + [] = x; (s)%a: ⊦ (x + y) + z = x + y + z; from specification list% ⊦ x + y = x + z ↔ y = z; (s) Used terms: a, y, n