| mon≤(nσ) ∧ m ≤ n0 ∧ ⌜n0⌝ < # nσ → nσ[m] ≤ nσ[n0], nσ[n] = nσ[n0], # nσ = ∞, n0 < n, m < n, n0 < m, stutf(nσ), nσ[n0] < nσ[m], n0 + 1 < n, ∀ n. ∃ m. nσ[m] = n ⊦ n = 0, nσ[m] = 0, m = 0, n0 = 0 |
nσ[n] = nσ[n0], # nσ = ∞, n0 < n, m < n, n0 < m, stutf(nσ), nσ[n0] < nσ[m], n0 + 1 < n, ∀ n. ∃ m. nσ[m] = n ⊦ n = 0, nσ[m] = 0, m = 0, n0 = 0
Used simplifier rules: stutf-monle: ⊦ stutf(nσ) → (¬ mon≤(nσ) ↔ false);%ls-le-simp: ⊦ m < n → (n ≤ m ↔ false); from specification nat