| ⊦ ⌜ar⌝ .ar = ar |
⊦ ar = ar0 ↔ # ar = # ar0 ∧ (∀ n. n < # ar → ar[n] = ar0[n])
[Concretesimprules((Csimpnamedseq(finp-ar,,, ⊦ ¬ finp(⌜ar⌝ ) ↔ false) Csimpnamedseq(toar-size,,, finp(σ) ⊦ # σ.ar = (# σ).n) Csimpnamedseq(tostream-size,,, ⊦ # ⌜ar⌝ = ⌜# ar⌝ ) Csimpnamedseq(toar-at,,, finp(σ), ⌜n⌝ < # σ ⊦ σ.ar[n] = σ[n]) Csimpnamedseq(tostream-at,,, ⊦ n < # ar → ⌜ar⌝ [n] = ar[n]) Csimpnamedseq(nat-inf-basic,,sel, ⊦ ⌜m⌝ .n = m) Csimpnamedseq(nat,,ls-le-simp, ⊦ m < n → (n ≤ m ↔ false)) Csimpnamedseq(nat,,lels, ⊦ ¬ m < n ↔ n ≤ m) Csimpnamedseq(nat-inf,,less-fin, ⊦ ⌜m⌝ < ⌜n⌝ ↔ m < n))), Extraterms((ar⌜ar⌝ .ar))]