| files[m] = mkfile(m0, md0, m1, content), m ∈ files ⊦ [afs_fsync#(inode0, false, dirs, files0; ; asynced, err)] (err = ESUCCESS ∨ ⌊err⌋ ) |
asynced0 ↔ false, files1[m] = mkfile(m0, md0, m1, content), files = files0, inode = inode0, 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 };