| x0 + y.last ' = a1 ' + y, a0 < y.last, a1 < y.last, ordered≤(a1 ' + y), a1 ∈ x0, ∀ a, b. ordered≤(x0 + a ') → (ordered≤(x0 + a ' + b ') ↔ ¬ b < a) ⊦ a1 = y.last, y = [], b < a0, b < a1, a1 < a0, b < y.last, ordered≤((a0 ' + x0) + y.last ' + b ') |
x0 + a2 ' = a1 ' + y, y = y0 + a2 ', a1 < a2, a0 < a2, ordered≤(a1 ' + y), a1 ∈ x0, ∀ a, b. ordered≤(x0 + a ') → (ordered≤(x0 + a ' + b ') ↔ ¬ b < a) ⊦ a1 = a2, y = [], b < a2, a1 < a0, b < a1, b < a0, ordered≤((a0 ' + x0) + a2 ' + b ')
Used simplifier rules: x ≠ [] ⊦ a = x.last ∧ y = x.butlast ↔ x = y + a '; (elim) Used terms: y, a2, y0