| icache[ino] = mkientry(boolvar, mkinode(m0, md, true, m1, m4, m5)), files[ino] = mkfile(m2, md0, m3, content0), ino ∈ icache, ino ∈ files ⊦ mkfile(m2, md0, m3, (content0 ⊕ mkcontent(ino, pcache))[m, buf]) = mkfile(m2, md0, m3, content0[m, buf] ⊕ mkcontent(ino, pcache[datakey(ino, m), mkpentry(false, buf)])) |
⊦ mkfile(m, md, m0, content) = mkfile(m1, md0, m2, content0) ↔ m = m1 ∧ md = md0 ∧ m0 = m2 ∧ content = content0
files[ino] = mkfile(m2, md0, m3, content0), icache[ino] = mkientry(boolvar, mkinode(m0, md, true, m1, m4, m5)), ino ∈ files, ino ∈ icache ⊦ m2 = m2 ∧ md0 = md0 ∧ m3 = m3 ∧ (content0 ⊕ mkcontent(ino, pcache))[m, buf] = content0[m, buf] ⊕ mkcontent(ino, pcache[datakey(ino, m), mkpentry(false, buf)])
Used terms: content0[m, buf] ⊕ mkcontent(ino, pcache[datakey(ino, m), mkpentry(false, buf)]), m3, md0, m2, (content0 ⊕ mkcontent(ino, pcache))[m, buf], m3, md0, m2