| a0 ' + y0 + z = y + z0, # y = # y0, a0 ∈ y ∨ a0 ∈ z0 ⊦ z0 = [], z0.rest = z |
z0 = a + y1, a0 ' + y0 + z = y + z0, # y = # y0, a0 ∈ y ∨ a0 ∈ z0 ⊦ z0 = [], y1 = z
Used simplifier rules: x ≠ [] ⊦ a = x.first ∧ y = x.rest ↔ x = a + y; (elim) Used terms: z0, a, y1