| # buf0 = VFS_PAGE_SIZE, files1[ino] = mkfile(m3, md0, m4, content0), files1[m] = mkfile(m0, md, m1, content), pcache[datakey(m, n)] = mkpentry(true, buf0), files0[ino] = mkfile(m5, md1, m6, content1), n * VFS_PAGE_SIZE < m2, ino ∈ files0, m ∈ files1, datakey(m, n) ∈ pcache, ⌊err0⌋ , ∀ ino. ino ≠ m ∧ ino ∈ files0 → mkfile(files1[ino].size, files1[ino].meta, files1[ino].nlink, files1[ino].content ⊕ mkcontent(ino, pcache)) = mkfile(files0[ino].size, files0[ino].meta, files0[ino].nlink, files0[ino].content ⊕ mkcontent(ino, pcache0)) ∧ ino ∈ files1 ⊦ ino = m, mkfile(m3, md0, m4, content0 ⊕ mkcontent(ino, pcache)) = mkfile(m5, md1, m6, content1 ⊕ mkcontent(ino, pcache0)) ∧ ino ∈ files1 |
Used simplifier rules: ⊦ mkfile(m, md, m0, content) = mkfile(m1, md0, m2, content0) ↔ m = m1 ∧ md = md0 ∧ m0 = m2 ∧ content = content0; (ws)% ⊦ mkfile(m, md, m0, content).content = content; (s)% ⊦ mkfile(m, md, m0, content).nlink = m0; (s)% ⊦ mkfile(m, md, m0, content).meta = md; (s)% ⊦ mkfile(m, md, m0, content).size = m; (s) Used terms: ino