| ∀ key. key ∈ pcache0[datakey(ino0, ino1), pe] → key.data?, ∀ key, ino. key ∈ evict(ino, pcache0) ∧ (∀ key. key ∈ pcache0 → key.data?) → key.data? ∧ key.ino ≠ ino, key = datakey(ino0, ino1) ∨ key ∈ evict(ino, pcache0) ⊦ ino = ino0, key.data? ∧ key.ino ≠ ino |
key ∈ evict(ino, pcache0), ∀ key, ino. key ∈ evict(ino, pcache0) ∧ (∀ key. key ∈ pcache0 → key.data?) → key.data? ∧ key.ino ≠ ino, ∀ key. key ∈ pcache0[datakey(ino0, ino1), pe] → key.data? ⊦ ino = ino0, key.data? ∧ key.ino ≠ ino
Used simplifier rules: ⊦ datakey(m, m0).data?; (s)% ⊦ datakey(m, m0).ino = m; (s)