| # nσ = ⌜n0⌝ , stutf(nσ) ⊦ (∃ m. m < n0 ∧ nσ[m] = n) ∧ (∀ m. (m ≠ 0 → (∃ m0. m0 < n0 ∧ nσ[m0] = m - 1)) → ¬ n + 1 < m) ↔ nσ[n0 - 1] = n |
n0 = m1 + 1 ∧ n0 ≠ 0, # nσ = ⌜n0⌝ , stutf(nσ) ⊦ (∃ m. m < n0 ∧ nσ[m] = n) ∧ (∀ m. (m ≠ 0 → (∃ m0. m0 < n0 ∧ nσ[m0] = m - 1)) → ¬ n + 1 < m) ↔ nσ[m1] = n
Used simplifier rules: stutf-nonempty: ⊦ stutf(nσ) → (¬ nσ ≠ [] ↔ false);%size-empty-equiv: ⊦ # nσ = ⌜0⌝ ↔ nσ = []; from specification stream[natstream]%n ≠ 0 ⊦ m = n - 1 ↔ n = m + 1; (elim) Used terms: n0, m1