| n + m = # buf ⊦ ⌜fill(buf, zero, n, m)⌝ = (⌜buf⌝ to n) + (σ⊥ to m) |
⊦ σ = σ2 ↔ # σ = # σ2 ∧ (∀ n. ⌜n⌝ < # σ → σ[n] = σ2[n])
n + m = # buf ⊦ # ⌜fill(buf, zero, n, m)⌝ = #((⌜buf⌝ to n) + (σ⊥ to m)) ∧ (∀ n0. ⌜n0⌝ < # ⌜fill(buf, zero, n, m)⌝ → ⌜fill(buf, zero, n, m)⌝ [n0] = ((⌜buf⌝ to n) + (σ⊥ to m))[n0])
Used terms: (⌜buf⌝ to n) + (σ⊥ to m), ⌜fill(buf, zero, n, m)⌝