| files[ino] = mkfile(m4, md1, m5, content), icache[ino] = mkientry(boolvar, mkinode(m0, md0, false, m1, m2, m3)), files[ino0] = mkfile(m6, md2, m7, content0), ino0 ∈ files, ino ∈ files, ino ∈ icache ⊦ mkfile(m6, md2, m7, content0 ⊕ mkcontent(ino0, pcache)) = ((files[ino, mkfile(m, md, m5, content)] ⊕ pcache) ⊕ icache[ino, mkientry(false, mkinode(m0, md, false, m1, m2, m))])[ino0], ino0 ∈ icache |
Used simplifier rules: at-icache-overwrite-not-cached: ⊦ ¬ ino ∈ icache → (files ⊕ icache)[ino] = files[ino];%at-pcache-overwrite: ⊦ (files ⊕ pcache)[ino] = mkfile (files[ino].size, files[ino].meta, files[ino].nlink, files[ino].content ⊕ mkcontent(ino, pcache));% ⊦ files[ino, af][ino0] = (ino0 = ino ∧ ino ∈ files ⊃ af;files[ino0]); (s)% ⊦ ino ∈ icache[ino0, ie] ↔ ino = ino0 ∨ ino ∈ icache; (ws)% ⊦ mkfile(m, md, m0, content).size = m; (s)% ⊦ mkfile(m, md, m0, content).meta = md; (s)% ⊦ mkfile(m, md, m0, content).nlink = m0; (s)% ⊦ mkfile(m, md, m0, content).content = content; (s) Used formulas: ino0 ∈ icache[ino, mkientry(false, mkinode(m0, md, false, m1, m2, m))]