| ⌜n⌝ + ⌜1⌝ = leninv(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] ⌝ + ⌜m⌝ + ⌜1⌝ < # nσ, stutf(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] + m + 1 ] = n + 1 |
⌜n⌝ + ⌜1⌝ = leninv(nσ), ⌜((λ m. max∞(λ n. ⌜n⌝ < # nσ ∧ nσ[n] = m).n) to leninv(nσ).n)[n]⌝ + ⌜m⌝ + ⌜1⌝ < # nσ, stutf(nσ) ⊦ nσ[((λ m. max∞(λ n. ⌜n⌝ < # nσ ∧ nσ[n] = m).n) to leninv(nσ).n)[n] + m + 1] = n + 1
Used simplifier rules: ⊦ ⌜nl⌝ [n] = nl[n]; (s)% ⊦ ⌜nnf⌝ to n = ⌜nnf to n⌝ ; (s)% ⊦ n∞ = ⌜m⌝ + ⌜n⌝ → (n∞ = ∞ ↔ false); (s)%add-comm: ⊦ n∞1 + n∞2 = n∞2 + n∞1; from specification nat-inf%add-assoc: ⊦ (n∞ + n∞1) + n∞2 = n∞ + n∞1 + n∞2; from specification nat-inf