| ⟨afs_truncate#(n, pageno; buf-opt, inode, boolvar, err, dirs, files, asynced)⟩ (buf-opt = buf-opt1 ∧ inode = inode0 ∧ (boolvar ↔ boolvar3) ∧ err = err1 ∧ dirs = dirs2 ∧ files = files2 ∧ (asynced ↔ asynced0)), boolvar3 ↔ boolvar0, asynced0 ↔ boolvar1, buf-opt1 = buf-opt0, dirs = dirs1, dirs2 = dirs0, err1 = err0, files = files1, files2 = files0, inode0 = p_inode, n = n0, pageno = pageno0 ⊦ ⟨afs_truncate#(n, pageno; buf-opt, inode, boolvar, err, dirs1, files1, boolvar2)⟩ ((n = n0 ∧ pageno = pageno0 ∧ buf-opt = buf-opt0 ∧ inode = p_inode ∧ (boolvar ↔ boolvar0) ∧ err = err0) ∧ dirs1 = dirs0 ∧ files1 = files0) |
⟨afs_truncate#(n0, pageno0; buf-opt, inode, boolvar, err, dirs1, files1, asynced)⟩ (buf-opt = buf-opt0 ∧ inode = p_inode ∧ (boolvar ↔ boolvar0) ∧ err = err0 ∧ dirs1 = dirs0 ∧ files1 = files0 ∧ (asynced ↔ asynced0)) ⊦ ⟨afs_truncate#(n0, pageno0; buf-opt, inode, boolvar, err, dirs1, files1, boolvar2)⟩ (buf-opt = buf-opt0 ∧ inode = p_inode ∧ (boolvar ↔ boolvar0) ∧ err = err0 ∧ dirs1 = dirs0 ∧ files1 = files0)