| files1[ino].meta = md, write-inv(n0, n1, mkinode(ino, md, false, m, n0, m0), buf, n, dirs, files0, files1) ⊦ [afs_write_inode#(mkinode(ino, md, false, m, n0, m0 + n); err, dirs, files1; asynced)] [if err = ESUCCESS then files0[ino].size := m0 + n] write-inv(n0, n1, mkinode(ino, md, false, m, n0, files0[ino].size), buf, n, dirs, files0, files1) |
⊦ write-inv(n0, n1, mkinode(ino, md, false, m, m1, m0), buf, n, dirs, files0, files1) → ino ∈ files0
⊦ write-inv(n0, n1, mkinode(ino, md, false, m, m1, m0), buf, n, dirs, files0, files1) → ino ∈ files1
⊦ write-inv(n0, n1, mkinode(ino, md, false, m, m1, m0), buf, n, dirs, files0, files1) → ino ∈ files0
files1[ino].meta = md, write-inv(n0, n1, mkinode(ino, files1[ino].meta, false, m, n0, m0), buf, n, dirs, files0, files1), ino ∈ files1 ⊦ [afs_write_inode#(mkinode(ino, files1[ino].meta, false, m, n0, m0 + n); err, dirs, files1; asynced)] [if err = ESUCCESS then files0[ino].size := m0 + n] write-inv(n0, n1, mkinode(ino, md, false, m, n0, files0[ino].size), buf, n, dirs, files0, files1)
Used simplifier rules: write-inv-in1: ⊦ write-inv (n0, n1, mkinode(ino, md, false, m, m1, m0), buf, n, dirs, files0, files1) → ino ∈ files0;%write-inv-in0: ⊦ write-inv (n0, n1, mkinode(ino, md, false, m, m1, m0), buf, n, dirs, files0, files1) → ino ∈ files1;%write-inv-in1: ⊦ write-inv (n0, n1, mkinode(ino, md, false, m, m1, m0), buf, n, dirs, files0, files1) → ino ∈ files0;