| ∀ σ, 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⌝ |
∀ σ, 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: add-assoc: ⊦ (n∞ + n∞1) + n∞2 = n∞ + n∞1 + n∞2; from specification nat-inf%c: ⊦ m + n = n + m; from specification nat-basic2%add-fin: ⊦ ⌜m + n⌝ = ⌜m⌝ + ⌜n⌝ ; from specification nat-inf%a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic2%succ: ⊦ m +1 = m + 1; from specification nat-basic2