| ⌜n⌝ + ⌜m⌝ < # σ ⊦ (σ from n)[m] = σ[n + m] |
Used simplifier rules: from-fin: ⊦ ⌜x⌝ from n = ⌜x from n⌝ ;%sel-fin: ⊦ ⌜x⌝ [n] = x[n];%size-fin: ⊦ # ⌜x⌝ = ⌜# x⌝ ;%get-from-01: m + m0 < # x ⊦ (x from m)[m0] = x[m + m0];%from-inf: ⊦ ⌜nf⌝ from n = ⌜nf from n⌝ ;%sel-inf: ⊦ ⌜nf⌝ [n] = nf(n);%get-from-inf: ⊦ ((nf from n))(m) = nf(m + n);%stream freely generated by ⌜ ⌝, ⌜ ⌝;;%c: ⊦ m + n = n + m; from specification nat-basic2%lels: ⊦ ¬ m < n ↔ n ≤ m; from specification nat%ls-natinf-to-nat-2-1: ⊦ ⌜n⌝ + ⌜m⌝ < ⌜n0⌝ ↔ n + m < n0; from specification nat-inf%le-ls-simp: ⊦ m ≤ n → (n < m ↔ false); from specification nat%add-assoc: ⊦ (n∞ + n∞1) + n∞2 = n∞ + n∞1 + n∞2; from specification nat-inf%add-comm: ⊦ n∞1 + n∞2 = n∞2 + n∞1; from specification nat-inf