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