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