| # y = # y0, (n < # y0 → y[n] = y0[n]) → y = y0, ¬ # y0 < 0 → (a0 ' + y)[0] = (a ' + y0)[0], ∀ n0. ¬ # y0 < n0 → (a0 ' + y)[n0] = (a ' + y0)[n0] ⊦ a0 ' + y = a ' + y0 |
# y = # y0, n < # y0, ∀ n0. ¬ # y0 < n0 → (a ' + y)[n0] = (a ' + y0)[n0] ⊦ y[n] = y0[n], y0 = []
Used simplifier rules: get-zero-01: ⊦ (a ' + x)[0] = a;% ⊦ # x = 0 ↔ x = []; (s)%lf-01: ⊦ m < n ∧ n = n0 → m < n0; (forward) from specification nat-basic%f: ⊦ m < n → n ≠ 0; (forward) from specification nat-basic% ⊦ a ' + x = b ' + y ↔ a = b ∧ x = y; (ws)%a: ⊦ (x + y) + z = x + y + z; from specification list% ⊦ ¬ m < 0; (s)