| icache[ino] = mkientry(false, inode0), ino0 ∈ dirs, ino ∈ icache, ∀ ino0. ino0 ∈ dirs → (ino0 ∈ icache → ¬ icache[ino0].dirty) ∧ (∀ n. datakey(ino0, n) ∈ pcache → ¬ pcache[datakey(ino0, n)].dirty) ⊦ (ino0 ∈ icache[ino, mkientry(false, inode)] → ¬ icache[ino, mkientry(false, inode)][ino0].dirty) ∧ (datakey(ino0, n) ∈ pcache → ¬ pcache[datakey(ino0, n)].dirty) |
icache[ino] = mkientry(false, inode0), pcache[datakey(ino0, n)] = mkpentry(boolvar, buf), ino ∈ icache, ino0 ∈ dirs, ∀ ino0. ino0 ∈ dirs → (ino0 ∈ icache → ¬ icache[ino0].dirty) ∧ (∀ n. datakey(ino0, n) ∈ pcache → ¬ pcache[datakey(ino0, n)].dirty) ⊦ (ino0 ∈ icache[ino, mkientry(false, inode)] → ¬ icache[ino, mkientry(false, inode)][ino0].dirty) ∧ (datakey(ino0, n) ∈ pcache → ¬ boolvar)
Used simplifier rules: ⊦ (boolvar ↔ pe.dirty) ∧ buf = pe.page ↔ pe = mkpentry(boolvar, buf); (elim) Used terms: pcache[datakey(ino0, n)], boolvar, buf