| max∞(λ n0. ⌜n0⌝ < # nσ ∧ nσ[n0] = nσ[n]) = ⌜n⌝ , nσ[n + 1] = nσ[n] + 1, stutf(nσ), ⌜n⌝ + ⌜1⌝ < # 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 |
leninv(nσ) ≠ ∞, max∞(λ n0. ⌜n0⌝ < # nσ ∧ nσ[n0] = nσ[n]) = ⌜n⌝ , nσ[n + 1] = nσ[n] + 1, stutf(nσ), ⌜n⌝ + ⌜1⌝ < # nσ ⊦ ⌜(λ m. max∞(λ n. ⌜n⌝ < # nσ ∧ nσ[n] = m).n) to leninv(nσ).n⌝ [nσ[n]] = n
Used simplifier rules: leninv-inf-strong: ⊦ stutf(nσ) → ( ¬ leninv(nσ) ≠ ∞ ↔ # nσ = ∞ ∧ (∀ m. ∃ m0. m < m0 ∧ nσ[m] < nσ[m0]) ∧ (∀ m. ∃ m0. m < nσ[m0]));%sel-inf: ⊦ ⌜nnf⌝ [n] = nnf(n); from specification stream[natstream]%less-inf2: ⊦ ⌜m⌝ < ∞; from specification nat-inf%sel: ⊦ ⌜m⌝ .n = m; from specification nat-inf-basic