| nσ[n + 1] = nσ[n] + 1, ⌜n⌝ + ⌜1⌝ < # nσ, stutf(nσ), ∃ n1. n + 1 < n1 ∧ ⌜n1⌝ < # nσ ∧ nσ[n1] = nσ[n] ⊦ (leninv(nσ) = ∞ ⊃ ⌜λ m. max∞(λ n. ⌜n⌝ < # nσ ∧ nσ[n] = m).n⌝ ;⌜(λ m. max∞(λ n. ⌜n⌝ < # nσ ∧ nσ[n] = m).n) to leninv(nσ).n⌝ ) [nσ[n] ] = n |
nσ[n + 1] = nσ[n] + 1, nσ[n0] = nσ[n], ⌜n⌝ + ⌜1⌝ < # nσ, ⌜n0⌝ < # nσ, n + 1 < n0, stutf(nσ) ⊦ (leninv(nσ) = ∞ ⊃ ⌜λ m. max∞(λ n. ⌜n⌝ < # nσ ∧ nσ[n] = m).n⌝ ;⌜(λ m. max∞(λ n. ⌜n⌝ < # nσ ∧ nσ[n] = m).n) to leninv(nσ).n⌝ ) [nσ[n] ] = n
Used simplifier rules: ⊦ m < n → n ≠ 0; (s)%f: ⊦ m < n → n ≠ 0; (forward) from specification nat-basic