| files[ino] = mkfile(m4, md0, m5, content), icache[ino] = mkientry(boolvar, mkinode(m0, md, false, m1, m2, m3)), n = m, ino ∈ files, ino ∈ icache ⊦ (n ∈ (content ⊕ mkcontent(ino, pcache))[m, buf] ↔ n ∈ content ⊕ mkcontent(ino, pcache[datakey(ino, m), mkpentry(true, buf)])) ∧ (content ⊕ mkcontent(ino, pcache))[m, buf][n] = (content ⊕ mkcontent(ino, pcache[datakey(ino, m), mkpentry(true, buf)]))[n] |
files[ino] = mkfile(m4, md0, m5, content), icache[ino] = mkientry(boolvar, mkinode(m0, md, false, m1, m2, m3)), ino ∈ files, ino ∈ icache ⊦ buf = (content ⊕ mkcontent(ino, pcache[datakey(ino, m), mkpentry(true, buf)]))[m]
Used simplifier rules: in-overwrite-content: ⊦ n ∈ content0 ⊕ content1 ↔ n ∈ content0 ∨ n ∈ content1;%in-mkcontent: ⊦ n ∈ mkcontent(ino, pcache) ↔ datakey(ino, n) ∈ pcache;%in-overwrite-content: ⊦ n ∈ content0 ⊕ content1 ↔ n ∈ content0 ∨ n ∈ content1;% ⊦ key ∈ pcache[key, pe]; (s)% ⊦ content[n, buf][n] = buf; (s)% ⊦ n ∈ content[n, buf]; (s)