| write-inv(n0, n1, inode, buf, n, dirs, files0, files1) ⊦ [vfs_write_loop#(n0, inode, n1, buf, dirs; n, err, files1, asynced)] write-inv(n0, n1, inode, buf, n, dirs, files0, files1) |
files = files1, ino = n, ino0 = n1, ino1 = n0, write-inv(n0, n1, inode, buf, n, dirs, files0, files1) ⊦ [let isdir = false in while err = ESUCCESS ∧ ¬ isdir do vfs_write_block#(ino1, inode, buf, ino0, dirs; ino, isdir, err, files, asynced)] write-inv(n0, n1, inode, buf, ino, dirs, files0, files)
Used simplifier rules: vfs_write_loop# (START, INODE, END, BUF, DIRS; TOTAL, ERR, FILES, ASYNCED) {let DONE = false in while ERR = ESUCCESS ∧ ¬ DONE do vfs_write_block# (START, INODE, BUF, END, DIRS; TOTAL, DONE, ERR, FILES, ASYNCED) };