| m < n ⊦ (σ to n).l[m] = σ[m], n = 0, # σ < ⌜n⌝ |
Used simplifier rules: to-fin: ⊦ ⌜x⌝ to n = ⌜x to n⌝ ;%size-fin: ⊦ # ⌜x⌝ = ⌜# x⌝ ;%get-finto: ¬ # x < n, m < n ⊦ (x to n)[m] = x[m];%sel-fin: ⊦ ⌜x⌝ [n] = x[n];%to-inf: ⊦ ⌜nf⌝ to n = ⌜nf to n⌝ ;%get-infto: m < n ⊦ (nf to n)[m] = nf(m);%sel-inf: ⊦ ⌜nf⌝ [n] = nf(n);%stream freely generated by ⌜ ⌝, ⌜ ⌝;;%sel-02: ⊦ ⌜x⌝ .l = x; from specification stream-basic%lels: ⊦ ¬ m < n ↔ n ≤ m; from specification nat%ls-le-simp: ⊦ m < n → (n ≤ m ↔ false); from specification nat%less-fin: ⊦ ⌜m⌝ < ⌜n⌝ ↔ m < n; from specification nat-inf