| err = ESUCCESS, afs-cons(dirs, files) ⊦ [fail_or_success#(; ; err); choose bv with true in asynced := bv; if err = ESUCCESS then {buf2 := copy(buf0, ino0, buf2, ino, n); afs_writepage#(inode, pageno, buf2, dirs; err, files; asynced)}] afs-cons(dirs, files) |
err = ESUCCESS, afs-cons(dirs, files) ⊦ [choose err0 with ⌊err0⌋ ∨ err0 = ESUCCESS in err := err0; choose bv with true in asynced := bv; if err = ESUCCESS then {buf2 := copy(buf0, ino0, buf2, ino, n); afs_writepage#(inode, pageno, buf2, dirs; err, files; asynced)}] afs-cons(dirs, files)
Used simplifier rules: fail_or_success#(; ; ERR) {choose ERR0 with ⌊ERR0⌋ ∨ ERR0 = ESUCCESS in ERR := ERR0};