| files[m] = mkfile(m0, md0, m1, content), m ∈ files ⊦ [afs_fsync#(mkinode(m, md, false, m1, 0, m2), true, dirs, files0; ; asynced, err0)] (err0 = ESUCCESS ∨ ⌊err0⌋ ) |
asynced0 ↔ true, files1[m] = mkfile(m0, md0, m1, content), files = files0, inode = mkinode(m, md, false, m1, 0, m2), m ∈ files1 ⊦ [if valid-file-inode(inode, dirs, files) then {fail_or_success#(; ; err); choose bv with true in asynced := bv} else abort] (err = ESUCCESS ∨ ⌊err⌋ )
Used simplifier rules: afs_fsync#(INODE, ISDATASYNC, DIRS, FILES; ; ASYNCED, ERR) {if valid-file-inode(INODE, DIRS, FILES) then {fail_or_success#(; ; ERR); choose bv with true in ASYNCED := bv} else abort };