| ⟨buf := files2[ino4].content[pageno]; buf := fill(buf, zero, n0, VFS_PAGE_SIZE - n0); content[pageno] := buf; buf-opt := some(buf)⟩ (pageno = pageno1 ∧ buf = buf0 ∧ content = content2 ∧ buf-opt = buf-opt0), files2[ino4] = mkfile(m2 * VFS_PAGE_SIZE + n0, md, # links(ino4, dirs0), content0), buf-opt = none, content = content0, pageno = m2, n0 < VFS_PAGE_SIZE, afs-cons(dirs0, files2), afs-cons(dirs0, files2[ino4, mkfile(m2 * VFS_PAGE_SIZE + n0, md, # links(ino4, dirs0), content2 upto (m2 * VFS_PAGE_SIZE + n0))]), files2 ~ files2[ino4, mkfile(m2 * VFS_PAGE_SIZE + n0, md, # links(ino4, dirs0), content2 upto (m2 * VFS_PAGE_SIZE + n0))], ino4 ∈ files2, m2 ∈ content0 ⊦ (content2.stream to VFS_PAGE_SIZE * m2 + VFS_PAGE_SIZE) + σ⊥ from m2 * VFS_PAGE_SIZE + n0 = σ⊥, n0 = 0 |
⟨buf := fill(files2[ino4].content[pageno], zero, n0, VFS_PAGE_SIZE - n0); content[pageno] := buf; buf-opt := some(buf)⟩ (pageno = pageno1 ∧ buf = buf0 ∧ content = content2 ∧ buf-opt = buf-opt0), files2[ino4] = mkfile(m2 * VFS_PAGE_SIZE + n0, md, # links(ino4, dirs0), content0), buf-opt = none, content = content0, pageno = m2, n0 < VFS_PAGE_SIZE, afs-cons(dirs0, files2[ino4, mkfile(m2 * VFS_PAGE_SIZE + n0, md, # links(ino4, dirs0), content2 upto (m2 * VFS_PAGE_SIZE + n0))]), afs-cons(dirs0, files2), files2 ~ files2[ino4, mkfile(m2 * VFS_PAGE_SIZE + n0, md, # links(ino4, dirs0), content2 upto (m2 * VFS_PAGE_SIZE + n0))], m2 ∈ content0, ino4 ∈ files2, pageno ∈ files2[ino4].content ⊦ (content2.stream to VFS_PAGE_SIZE * m2 + VFS_PAGE_SIZE) + σ⊥ from m2 * VFS_PAGE_SIZE + n0 = σ⊥, n0 = 0