| files[ino] = mkfile(m, md, m0, content), files[ino0] = mkfile(m1, md0, m2, content0), pcache[datakey(ino0, n0)] = mkpentry(boolvar, buf), ino0 ∈ files, ino ∈ files, n ∈ content, datakey(ino0, n0) ∈ pcache ⊦ buf = (content0 ⊕ mkcontent(ino0, pcache))[n0], datakey(ino0, n0) = datakey(ino, n), datakey(ino, n) ∈ pcache |
⊦ ¬ n ∈ content1 → (content0 ⊕ content1)[n] = content0[n]
Used simplifier rules: at-overwrite-content-new: ⊦ n ∈ content1 → (content0 ⊕ content1)[n] = content1[n];%at-mkcontent: ⊦ mkcontent(ino, pcache)[n] = pcache[datakey(ino, n)].page;%in-mkcontent: ⊦ n ∈ mkcontent(ino, pcache) ↔ datakey(ino, n) ∈ pcache;%in-mkcontent: ⊦ n ∈ mkcontent(ino, pcache) ↔ datakey(ino, n) ∈ pcache;% ⊦ mkpentry(boolvar, buf).page = buf; (s) Used terms: n0, mkcontent(ino0, pcache), content0