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