| key = dentrykey(ino1, name), datakey(ino, pageno) ∈ pcache0, ∀ ino, pageno, ino0. datakey(ino, pageno) ∈ pcache0 → evict(ino0, pcache0)[datakey(ino, pageno)] = pcache0[datakey(ino, pageno)] ∨ ino = ino0 ⊦ evict(ino0, pcache0[key, pe])[datakey(ino, pageno)] = pcache0[datakey(ino, pageno)], datakey(ino, pageno) = key, ino = ino0 |
datakey(ino, pageno) ∈ pcache0, ∀ ino, pageno, ino0. datakey(ino, pageno) ∈ pcache0 → evict(ino0, pcache0)[datakey(ino, pageno)] = pcache0[datakey(ino, pageno)] ∨ ino = ino0 ⊦ evict(ino0, pcache0)[datakey(ino, pageno)] = pcache0[datakey(ino, pageno)], ino = ino0
Used simplifier rules: evict-rec-dentry: ⊦ evict(n, pcache[dentrykey(ino, name), pe]) = evict(n, pcache);% ⊦ datakey(m, m0) ≠ dentrykey(m1, str); (s)