| icache[ino] = mkientry(boolvar, 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, 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, (files[ino].meta:= md).size:= m] ⊕ pcache) ⊕ icache[ino, mkientry(false, mkinode(m0, md, false, m1, m2, m))]
Used simplifier rules: ⊦ ((m = af.size ∧ md = af.meta) ∧ m0 = af.nlink) ∧ content = af.content ↔ af = mkfile(m, md, m0, content); (elim) Used terms: files[ino], m4, md1, m5, content