| icache[ino].inode = mkinode(m0, md0, false, m1, m2, m3), ino ∈ files, ino ∈ icache ⊦ ((files ⊕ pcache) ⊕ icache)[ino, mkfile(m, md, m1, files[ino].content ⊕ mkcontent(ino, pcache))] = (files[ino, (files[ino].meta:= md).size:= m] ⊕ pcache) ⊕ icache[ino, mkientry(false, mkinode(m0, md, false, m1, m2, m))] |
icache[ino] = mkientry(boolvar, inode), inode = mkinode(m0, md0, false, m1, m2, m3), ino ∈ icache, ino ∈ files ⊦ ((files ⊕ pcache) ⊕ icache)[ino, mkfile(m, md, m1, files[ino].content ⊕ mkcontent(ino, pcache))] = (files[ino, (files[ino].meta:= md).size:= m] ⊕ pcache) ⊕ icache[ino, mkientry(false, mkinode(m0, md, false, m1, m2, m))]
Used simplifier rules: ⊦ (boolvar ↔ ie.dirty) ∧ inode = ie.inode ↔ ie = mkientry(boolvar, inode); (elim) Used terms: icache[ino], boolvar, inode