| rev(x) = a0 + y1 ∧ rev(x) ≠ [], rev(x) + y = a ' + y0, a ∈ x ∨ a ∈ y ⊦ x = [], y0 = y1 + y |
rev(x) = a0 ' + y1, rev(x) + y = a ' + y0, a0 ∈ x, a ∈ x ∨ a ∈ y ⊦ y0 = y1 + y, x = []
Used simplifier rules: rev-empty: ⊦ rev(x) = [] ↔ x = [];%rev-in: ⊦ a ∈ rev(x) ↔ a ∈ x;%a: ⊦ (x + y) + z = x + y + z; from specification list%in-14: ⊦ a ' + x = y → a ∈ y; (forward) from specification list%c: ⊦ a + x = a ' + x; from specification list