| a ' + firstn(n -1, y) = a0 ' + y0, m0 < n, n ≤ 1 + # y, m0 ≤ # y, ∀ n, x. n ≤ # x ∧ m0 ≤ n ∧ m0 ≤ # x → firstn(m0, firstn(n, x)) = firstn(m0, x) ⊦ a0 ' + firstn(m0, y0) = a ' + firstn(m0, y), n = 0 |
m0 < n, n ≤ 1 + # y, m0 ≤ # y, ∀ n, x. n ≤ # x ∧ m0 ≤ n ∧ m0 ≤ # x → firstn(m0, firstn(n, x)) = firstn(m0, x) ⊦ firstn(m0, firstn(n - 1, y)) = firstn(m0, y)
Used simplifier rules: ⊦ m < n → n ≠ 0; (s)%a: ⊦ (x + y) + z = x + y + z; from specification list% ⊦ a ' + x = b ' + y ↔ a = b ∧ x = y; (ws)% ⊦ n -1 = n - 1; (s)