| ∀ a, y. (a = x0.last ∧ y = x0.butlast ↔ x0 = y + a ') ∨ x0 = [] ⊦ a0 + x0 = [], a = (a0 + x0).last ∧ y = (a0 + x0).butlast ↔ a0 + x0 = y + a ' |
(∀ a, y. a = x0.last ∧ y = x0.butlast ↔ x0 = y + a ') ∨ x0 = [] ⊦ a = (a0 ' + x0).last ∧ y = (a0 ' + x0).butlast ↔ a0 ' + x0 = y + a '
Used simplifier rules: a: ⊦ (x + y) + z = x + y + z; from specification list% ⊦ a ' + x ≠ []; (s)% ⊦ a + x = a ' + x; (s)