| icache[ino] = mkientry(boolvar, mkinode(m, md0, true, m0, m1, m2)), ino0 ∈ icache, ino ∈ icache, ino ∈ dirs, ino0 ∈ files, ino0 ∈ icache[ino, mkientry(false, mkinode(m, md, true, m0, m1, m2))] ⊦ ((files ⊕ pcache) ⊕ icache)[ino0] = ((files ⊕ pcache) ⊕ icache[ino, mkientry(false, mkinode(m, md, true, m0, m1, m2))])[ino0] |
⊦ ino ∈ icache ∧ ¬ icache[ino].inode.directory → (files ⊕ icache)[ino] = mkfile(icache[ino].inode.size, icache[ino].inode.meta, icache[ino].inode.nlink, files[ino].content)
icache[ino] = mkientry(boolvar, mkinode(m, md0, true, m0, m1, m2)), ino0 ∈ icache[ino, mkientry(false, mkinode(m, md, true, m0, m1, m2))], ino0 ∈ files, ino ∈ dirs, ino ∈ icache, ino0 ∈ icache ⊦ ((files ⊕ pcache) ⊕ icache)[ino0] = ((files ⊕ pcache) ⊕ icache[ino, mkientry(false, mkinode(m, md, true, m0, m1, m2))])[ino0], ino0 ∈ icache[ino, mkientry(false, mkinode(m, md, true, m0, m1, m2))] ∧ ¬ icache[ino, mkientry(false, mkinode(m, md, true, m0, m1, m2))][ino0].inode.directory
icache[ino] = mkientry(boolvar, mkinode(m, md0, true, m0, m1, m2)), ino0 ∈ files, ino ∈ dirs, ino ∈ icache, ino0 ∈ icache, ino0 ∈ icache[ino, mkientry(false, mkinode(m, md, true, m0, m1, m2))] ⊦ ((files ⊕ pcache) ⊕ icache)[ino0] = mkfile (icache[ino, mkientry(false, mkinode(m, md, true, m0, m1, m2))][ino0].inode.size, icache[ino, mkientry(false, mkinode(m, md, true, m0, m1, m2))][ino0].inode.meta, icache[ino, mkientry(false, mkinode(m, md, true, m0, m1, m2))][ino0].inode.nlink, (files ⊕ pcache)[ino0].content), icache[ino, mkientry(false, mkinode(m, md, true, m0, m1, m2))][ino0].inode.directory
Used terms: ino0, icache[ino, mkientry(false, mkinode(m, md, true, m0, m1, m2))], files ⊕ pcache