| write-inv(n0, n1, inode, buf, n, dirs, files0, files1) ⊦ [let isdir = false in {ino1 := n0; ino0 := n1; while err = ESUCCESS ∧ ¬ isdir do vfs_write_block#(ino1, inode, buf, ino0, dirs; n, isdir, err, files1, asynced)}] write-inv(n0, n1, inode, buf, n, dirs, files0, files1) |
isdir ↔ false, write-inv(n0, n1, inode, buf, n, dirs, files0, files1) ⊦ [ino1 := n0; ino0 := n1; while err = ESUCCESS ∧ ¬ isdir do vfs_write_block#(ino1, inode, buf, ino0, dirs; n, isdir, err, files1, asynced)] write-inv(n0, n1, inode, buf, n, dirs, files0, files1)