| icache[ino] = mkientry(boolvar, mkinode(m0, md0, false, m1, m2, m3)), files[ino] = mkfile(m4, md1, m5, content), ino ∈ icache, ino ∈ files ⊦ ((files ⊕ pcache) ⊕ icache)[ino, mkfile(m, md, m1, content ⊕ mkcontent(ino, pcache))] = (files[ino, mkfile(m, md, m5, content)] ⊕ pcache) ⊕ icache[ino, mkientry(false, mkinode(m0, md, false, m1, m2, m))] |
⊦ files = files0 ↔ (∀ ino. (ino ∈ files ↔ ino ∈ files0) ∧ (ino ∈ files → files[ino] = files0[ino]))
files[ino] = mkfile(m4, md1, m5, content), icache[ino] = mkientry(boolvar, mkinode(m0, md0, false, m1, m2, m3)), ino ∈ files, ino ∈ icache ⊦ ∀ ino0. ( ino0 ∈ ((files ⊕ pcache) ⊕ icache)[ino, mkfile(m, md, m1, content ⊕ mkcontent(ino, pcache))] ↔ ino0 ∈ (files[ino, mkfile(m, md, m5, content)] ⊕ pcache) ⊕ icache[ino, mkientry(false, mkinode(m0, md, false, m1, m2, m))]) ∧ ( ino0 ∈ ((files ⊕ pcache) ⊕ icache)[ino, mkfile(m, md, m1, content ⊕ mkcontent(ino, pcache))] → ((files ⊕ pcache) ⊕ icache)[ino, mkfile(m, md, m1, content ⊕ mkcontent(ino, pcache))][ino0] = ((files[ino, mkfile(m, md, m5, content)] ⊕ pcache) ⊕ icache[ino, mkientry(false, mkinode(m0, md, false, m1, m2, m))])[ino0])
Used terms: (files[ino, mkfile(m, md, m5, content)] ⊕ pcache) ⊕ icache[ino, mkientry(false, mkinode(m0, md, false, m1, m2, m))], ((files ⊕ pcache) ⊕ icache )[ino, mkfile(m, md, m1, content ⊕ mkcontent(ino, pcache)) ]