| n < nσ[min(nσ, n + 1)], ⌜min(nσ, n + 1)⌝ < # nσ, ⌜min(nσ, n)⌝ < # nσ, mon<(nσ), n ≤ nσ[min(nσ, n)], ⌜min(nσ, n + 1)⌝ < # nσ ∧ n ≤ nσ[min(nσ, n + 1)] → min(nσ, n) ≤ min(nσ, n + 1), ∀ m. ⌜m⌝ < # nσ ∧ n < nσ[m] → min(nσ, n + 1) ≤ m, ∀ m. ⌜m⌝ < # nσ → nσ[m] ≠ n, ∀ m. ⌜m⌝ < # nσ ∧ n ≤ nσ[m] → min(nσ, n) ≤ m, # nσ = ∞ ∨ n < nσ[(# nσ).n - 1], # nσ = ∞ ∨ ¬ nσ[(# nσ).n - 1] < n ⊦ min(nσ, n + 1) = min(nσ, n), nσ = [] |
min(nσ, n) < min(nσ, n + 1), n < nσ[min(nσ, n + 1)], ⌜min(nσ, n + 1)⌝ < # nσ, ⌜min(nσ, n)⌝ < # nσ, mon<(nσ), n ≤ nσ[min(nσ, n)], ∀ m. ⌜m⌝ < # nσ ∧ n < nσ[m] → min(nσ, n + 1) ≤ m, ∀ m. ⌜m⌝ < # nσ → nσ[m] ≠ n, ∀ m. ⌜m⌝ < # nσ ∧ n ≤ nσ[m] → min(nσ, n) ≤ m, # nσ = ∞ ∨ n < nσ[(# nσ).n - 1], # nσ = ∞ ∨ ¬ nσ[(# nσ).n - 1] < n ⊦ min(nσ, n + 1) = min(nσ, n), nσ = []
Used simplifier rules: ⊦ m < n → n ≠ 0; (s)%f: ⊦ m < n → n ≠ 0; (forward) from specification nat-basic% ⊦ m ≠ n → (m ≤ n ↔ m < n); (s)% ⊦ m < n → m ≤ n; (s)