| y = a3 + y1, ∀ a2, y0. a2 = (a1 ' + x).last ∧ y0 = (a1 ' + x).butlast ↔ a1 ' + x = y0 + a2 ' ⊦ a = (a1 ' + x).last ∧ y = a0 ' + (a1 ' + x).butlast ↔ a0 ' + a1 ' + x = y + a ' |
∀ a2, y0. a2 = (a1 ' + x).last ∧ y0 = (a1 ' + x).butlast ↔ a1 ' + x = y0 + a2 ' ⊦ a = (a1 ' + x).last ∧ a3 ' + y1 = a0 ' + (a1 ' + x).butlast ↔ a0 ' + a1 ' + x = (a3 ' + y1) + a '
Used simplifier rules: a: ⊦ (x + y) + z = x + y + z; from specification list% ⊦ a + x = a ' + x; (s)