| files[ino] = mkfile(m2, md0, m3, content0), n = m, ino ∈ files ⊦ ino ∈ icache, (n ∈ (content0 ⊕ mkcontent(ino, pcache))[m, buf] ↔ n ∈ content0 ⊕ mkcontent(ino, pcache[datakey(ino, m), mkpentry(true, buf)])) ∧ (content0 ⊕ mkcontent(ino, pcache))[m, buf][n] = (content0 ⊕ mkcontent(ino, pcache[datakey(ino, m), mkpentry(true, buf)]))[n] |
files[ino] = mkfile(m2, md0, m3, content0), ino ∈ files ⊦ buf = (content0 ⊕ mkcontent(ino, pcache[datakey(ino, m), mkpentry(true, buf)]))[m], ino ∈ icache
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)