| n ≤ 1 + # x0, ∀ n, y. n ≤ # x0 → x0 + y from n = (x0 from n) + y ⊦ (a ' + x0) + y from n = (a ' + x0 from n) + y |
n0 +1 ≤ 1 + # x0, ∀ n, y. n ≤ # x0 → x0 + y from n = (x0 from n) + y, ∀ x0, a, y. n0 ≤ 1 + # x0 ∧ (∀ n, y. n ≤ # x0 → x0 + y from n = (x0 from n) + y) → (a ' + x0) + y from n0 = (a ' + x0 from n0) + y ⊦ (a ' + x0) + y from n0 +1 = (a ' + x0 from n0 +1) + y
Used simplifier rules: from-zero-l: ⊦ x from 0 = x;%nat freely generated by 0, +1;;%a: ⊦ (x + y) + z = x + y + z; from specification list% ⊦ x + y = x + z ↔ y = z; (s)