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