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