| ((λ n. nf(n + 1)) to m0) + nf(m0 + 1) ' = (λ n. nf(n + 1)) to m0 + 1 ⊦ (nf to m0 +1) + nf(m0 +1) ' = nf(0) + ((λ n. nf(n + 1)) to m0 +1) |
((λ n. nf(n + 1)) to m0) + nf(m0 + 1) ' = (λ n. nf(n + 1)) to m0 + 1, nf(m0 + 1) ∈ (λ n. nf(n + 1)) to m0 + 1 ⊦ (nf to m0 + 1) + nf(m0 + 1) ' = nf(0) ' + ((λ n. nf(n + 1)) to m0 + 1)
Used simplifier rules: a: ⊦ (x + y) + z = x + y + z; from specification list%in-15: ⊦ x + a ' = y → a ∈ y; (forward) from specification list%c: ⊦ a + x = a ' + x; from specification list%succ: ⊦ m +1 = m + 1; from specification nat-basic2