| ⊦ (σ to m + n) from m = (σ from m) to n, # σ < ⌜m⌝ + ⌜n⌝ |
∀ σ, n. (σ to m0 + n) from m0 = (σ from m0) to n ∨ # σ < ⌜m0⌝ + ⌜n⌝ ⊦ (σ to m0 +1 + n) from m0 +1 = (σ from m0 +1) to n, # σ < ⌜m0 +1⌝ + ⌜n⌝
Used simplifier rules: from-zero: ⊦ σ from 0 = σ;%nat freely generated by 0, +1;;%add-base: ⊦ n + 0 = n; from specification nat-basic2%a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic2%c: ⊦ m + n = n + m; from specification nat-basic2