| err0 = ESUCCESS, files1 = files0, ino = m, inode = mkinode(m, md, boolvar, m0, m1, m2), n0 = 0, pcache0 = pcache1, ∀ ino. ino ≠ m ∧ ino ∈ files0 → (files ⊕ pcache)[ino] = (files0 ⊕ pcache0)[ino] ∧ ino ∈ files ⊦ ∀ ino. ino ≠ m ∧ ino ∈ files0 → ino ∈ files ∧ 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)), n * VFS_PAGE_SIZE < inode.size ∧ err = ESUCCESS |
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
Used simplifier rules: ⊦ mkinode(m, md, boolvar, m0, m1, m2).size = m2; (s)%⊦ (files ⊕ pcache)[ino] = mkfile (files[ino].size, files[ino].meta, files[ino].nlink, files[ino].content ⊕ mkcontent(ino, pcache)); (s)