| y0 = firstn(n0, y0) + a ' + y, y0 = a1 + y1, ∀ a0, y0, a, y. a0 ' + y0 = firstn(n0, a0 ' + y0) + a ' + y ∧ (a0 ∈ firstn(n0, a0 ' + y0) ∨ a0 = a ∨ a0 ∈ y) → a0 ' + firstn(n0, y0) = firstn(n0, a0 ' + y0) + a ' ⊦ a1 ' + firstn(n0, y1) = firstn(n0, y0) + a ', y0 = [] |
a1 ' + y1 = firstn(n0, a1 ' + y1) + a ' + y, ∀ a0, y0, a, y. a0 ' + y0 = firstn(n0, a0 ' + y0) + a ' + y ∧ (a0 ∈ firstn(n0, a0 ' + y0) ∨ a0 = a ∨ a0 ∈ y) → a0 ' + firstn(n0, y0) = firstn(n0, a0 ' + y0) + a ', a1 ∈ firstn(n0, a1 ' + y1) ∨ a1 = a ∨ a1 ∈ y ⊦ a1 ' + firstn(n0, y1) = firstn(n0, a1 ' + y1) + a '
Used simplifier rules: ⊦ a ∈ b ' ↔ a = b; (s)% ⊦ a ∈ x + y ↔ a ∈ x ∨ a ∈ y; (s)%in-14: ⊦ a ' + x = y → a ∈ y; (forward) from specification list% ⊦ a ' + x ≠ []; (s)%a: ⊦ (x + y) + z = x + y + z; from specification list% ⊦ a + x = a ' + x; (s)