| rev(x) + y = a ' + y0, a ∈ x ∨ a ∈ y ⊦ x = [], y0 = rev(x).tail + y |
rev(x) + y = a ' + y0, rev(x) = a0 + y1, a ∈ x ∨ a ∈ y ⊦ rev(x) = [], x = [], y0 = y1 + y
Used simplifier rules: rev-empty: ⊦ rev(x) = [] ↔ x = [];%x ≠ [] ⊦ a = x.head ∧ y = x.tail ↔ x = a + y; (elim) Used terms: rev(x), a0, y1