| stutf(nσ), ⌜n⌝ < 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]⌝ < # nσ |
leninv(nσ) ≠ ∞, stutf(nσ), ⌜n⌝ < leninv(nσ) ⊦ ⌜⌜(λ m. max∞(λ n. ⌜n⌝ < # nσ ∧ nσ[n] = m).n) to leninv(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