| icache[ino0].inode = mkinode(m4, md1, false, m5, m6, m7), files[ino] = mkfile(m2, md0, m3, content0), ((files ⊕ pcache) ⊕ icache)[ino] = mkfile(m0, md, m1, content), ino0 ∈ icache, ino ∈ icache, ino0 ∈ files, ino ∈ files ⊦ ino0 = ino, mkfile(m7, md1, m5, files[ino0].content ⊕ mkcontent(ino0, pcache)) = mkfile(m7, md1, m5, files[ino0].content ⊕ mkcontent(ino0, pcache[datakey(ino, m), mkpentry(false, buf)])) |
((files ⊕ pcache) ⊕ icache)[ino] = mkfile(m0, md, m1, content), files[ino] = mkfile(m2, md0, m3, content0), icache[ino0] = mkientry(boolvar, inode), inode = mkinode(m4, md1, false, m5, m6, m7), ino ∈ files, ino0 ∈ files, ino ∈ icache, ino0 ∈ icache ⊦ ino0 = ino, mkfile(m7, md1, m5, files[ino0].content ⊕ mkcontent(ino0, pcache)) = mkfile(m7, md1, m5, files[ino0].content ⊕ mkcontent(ino0, pcache[datakey(ino, m), mkpentry(false, buf)]))
Used simplifier rules: ⊦ (boolvar ↔ ie.dirty) ∧ inode = ie.inode ↔ ie = mkientry(boolvar, inode); (elim) Used terms: icache[ino0], boolvar, inode