| datakey(ino, pageno) ∈ pcache0[key, pe], ∀ 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[key, pe][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[key, pe])[datakey(ino, pageno)] = pcache0[datakey(ino, pageno)], datakey(ino, pageno) = key, ino = ino0
Used simplifier rules: ⊦ key ≠ key0 → (key ∈ pcache[key0, pe] ↔ key ∈ pcache); (s)% ⊦ key ≠ key0 → pcache[key0, pe][key] = pcache[key]; (s)