| ((files ⊕ pcache) ⊕ icache)[ino] = mkfile(m0, md, m1, content), files[ino] = mkfile(m2, md0, m3, content0), ino ∈ files ⊦ ((files ⊕ pcache) ⊕ icache)[ino, mkfile(m0, md, m1, content[m, buf])] = (files[ino, mkfile(m2, md0, m3, content0[m, buf])] ⊕ pcache[datakey(ino, m), mkpentry(false, buf)]) ⊕ icache |
⊦ files = files0 ↔ (∀ ino. (ino ∈ files ↔ ino ∈ files0) ∧ (ino ∈ files → files[ino] = files0[ino]))
files[ino] = mkfile(m2, md0, m3, content0), ((files ⊕ pcache) ⊕ icache)[ino] = mkfile(m0, md, m1, content), ino ∈ files ⊦ ∀ ino0. ( ino0 ∈ ((files ⊕ pcache) ⊕ icache)[ino, mkfile(m0, md, m1, content[m, buf])] ↔ ino0 ∈ (files[ino, mkfile(m2, md0, m3, content0[m, buf])] ⊕ pcache[datakey(ino, m), mkpentry(false, buf)]) ⊕ icache) ∧ ( ino0 ∈ ((files ⊕ pcache) ⊕ icache)[ino, mkfile(m0, md, m1, content[m, buf])] → ((files ⊕ pcache) ⊕ icache)[ino, mkfile(m0, md, m1, content[m, buf])][ino0] = ((files[ino, mkfile(m2, md0, m3, content0[m, buf])] ⊕ pcache[datakey(ino, m), mkpentry(false, buf)]) ⊕ icache)[ino0])
Used terms: ( files[ino, mkfile(m2, md0, m3, content0[m, buf])] ⊕ pcache[datakey(ino, m), mkpentry(false, buf)]) ⊕ icache, ((files ⊕ pcache) ⊕ icache)[ino, mkfile(m0, md, m1, content[m, buf])]