| # ⌜nf0⌝ = #((σ to n) + ⌜nf⌝ ) ∧ (∀ n0. ⌜n0⌝ < # ⌜nf0⌝ → ⌜nf0⌝ [n0] = ((σ to n) + ⌜nf⌝ )[n0]) ⊦ nf0(n0 + n1 + n) = nf(n0 + n1), # σ < ⌜n⌝ |
∀ n2. nf0(n2) = ((σ to n) + ⌜nf⌝ )[n2] ⊦ nf0(n0 + n1 + n) = nf(n0 + n1), # σ < ⌜n⌝
Used simplifier rules: size-inf: ⊦ # ⌜nf⌝ = ∞;%size-append: ⊦ #(σ + σ1) = # σ + # σ1;%size-to: ¬ # σ < ⌜n⌝ ⊦ #(σ to n) = ⌜n⌝ ;%append-assoc: ⊦ (σ + σ1) + σ2 = σ + σ1 + σ2;%sel-inf: ⊦ ⌜nf⌝ [n] = nf(n);%less-inf2: ⊦ ⌜m⌝ < ∞; from specification nat-inf%add-comm: ⊦ n∞1 + n∞2 = n∞2 + n∞1; from specification nat-inf%add-assoc: ⊦ (n∞ + n∞1) + n∞2 = n∞ + n∞1 + n∞2; from specification nat-inf%add-inf2: ⊦ ⌜m⌝ + ∞ = ∞; from specification nat-inf