| # buf0 = # buf1, files[ino] = mkfile(m, md, # links(ino, dirs), content), ⌜# buf1⌝ = ⌜n⌝ + #(⌜buf0⌝ from n), n2 < # buf1, afs-cons(dirs, files), ino ∈ files, n ≤ # buf1, n1 ≤ # buf1 + n0, n0 + n ≤ m, n0 + n ≤ n1, n2 < # buf1 → buf1[n2] = (((content.stream from n0) to n) + (⌜buf0⌝ from n))[n2] ⊦ (n ≤ n2 ⊃ buf0[n2];getbyte(n2 + n0, content)) = buf1[n2] |
# buf0 = # buf1, files[ino] = mkfile(m, md, # links(ino, dirs), content), buf1[n2] = (((content.stream from n0) to n) + (⌜buf0⌝ from n))[n2], ⌜# buf1⌝ = ⌜n⌝ + #(⌜buf0⌝ from n), n2 < # buf1, afs-cons(dirs, files), ino ∈ files, n0 + n ≤ n1, n0 + n ≤ m, n1 ≤ # buf1 + n0, n ≤ # buf1 ⊦ (n ≤ n2 ⊃ buf0[n2];getbyte(n2 + n0, content)) = buf1[n2]