| # buf = VFS_PAGE_SIZE, files[m0] = mkfile(m1, md0, m2, content), ((m0 =>mkfile(n0, md, m, σ) * F))(files), afs-cons(dirs, files), m0 ∈ files ⊦ [asynced := ?] ((m0 =>mkfile(n0, md, m, (σ to n * VFS_PAGE_SIZE) + ⌜buf⌝ + (σ from VFS_PAGE_SIZE * n + VFS_PAGE_SIZE)) * F) )(files[m0, files[m0].content:= content[n, buf]]) |
# buf = VFS_PAGE_SIZE, files[m0] = mkfile(m1, md0, # links(m0, dirs), content), ((m0 =>mkfile(n0, md, m, σ) * F))(files), afs-cons(dirs, files), m0 ∈ files ⊦ [asynced := ?] ((m0 =>mkfile(n0, md, m, (σ to n * VFS_PAGE_SIZE) + ⌜buf⌝ + (σ from VFS_PAGE_SIZE * n + VFS_PAGE_SIZE)) * F) )(files[m0, mkfile(m1, md0, # links(m0, dirs), content[n, buf])])
Used simplifier rules: ⊦ mkfile(m, md, m0, content).content:= content0 = mkfile(m, md, m0, content0); (s)%afs-cons-file-nlink: ⊦ afs-cons(dirs, files) ∧ ino ∈ files ∧ files[ino] = mkfile(m, md, n, content) → # links(ino, dirs) = n; (forward) from specification afs-base