| ino0 ∈ files0, ∀ ino. ino ≠ m ∧ ino ∈ files0 → mkfile(files[ino].size, files[ino].meta, files[ino].nlink, files[ino].content ⊕ mkcontent(ino, pcache)) = mkfile(files0[ino].size, files0[ino].meta, files0[ino].nlink, files0[ino].content ⊕ mkcontent(ino, pcache0)) ∧ ino ∈ files ⊦ ino0 = m, ino0 ∈ files ∧ mkfile(files[ino0].size, files[ino0].meta, files[ino0].nlink, files[ino0].content ⊕ mkcontent(ino0, pcache)) = mkfile(files0[ino0].size, files0[ino0].meta, files0[ino0].nlink, files0[ino0].content ⊕ mkcontent(ino0, pcache0)), n * VFS_PAGE_SIZE < m2 ∧ err = ESUCCESS |
files[ino0] = mkfile(m0, md, m1, content), ino0 ∈ files0, ∀ ino. ino ≠ m ∧ ino ∈ files0 → mkfile(files[ino].size, files[ino].meta, files[ino].nlink, files[ino].content ⊕ mkcontent(ino, pcache)) = mkfile(files0[ino].size, files0[ino].meta, files0[ino].nlink, files0[ino].content ⊕ mkcontent(ino, pcache0)) ∧ ino ∈ files ⊦ ino0 = m, n * VFS_PAGE_SIZE < m2 ∧ err = ESUCCESS, ino0 ∈ files ∧ mkfile(m0, md, m1, content ⊕ mkcontent(ino0, pcache)) = mkfile(files0[ino0].size, files0[ino0].meta, files0[ino0].nlink, files0[ino0].content ⊕ mkcontent(ino0, pcache0))
Used simplifier rules: ⊦ ((m = af.size ∧ md = af.meta) ∧ m0 = af.nlink) ∧ content = af.content ↔ af = mkfile(m, md, m0, content); (elim) Used terms: files[ino0], m0, md, m1, content