| icache[ino0] = mkientry(boolvar0, inode1), icache[ino] = mkientry(false, inode0), pcache[datakey(ino0, n)] = mkpentry(boolvar, buf), icache[ino, mkientry(false, inode)][ino0] = mkientry(boolvar1, inode2), ino ∈ icache, ino0 ∈ files, ino0 ∈ icache[ino, mkientry(false, inode)] → ¬ boolvar1, ∀ n. datakey(ino0, n) ∈ pcache → ¬ pcache[datakey(ino0, n)].dirty, ∀ ino0. ino0 ∈ files → (ino0 ∈ icache[ino, mkientry(false, inode)] → ¬ icache[ino, mkientry(false, inode)][ino0].dirty) ∧ (∀ n. datakey(ino0, n) ∈ pcache → ¬ pcache[datakey(ino0, n)].dirty) ⊦ (ino0 ∈ icache → ¬ boolvar0) ∧ (datakey(ino0, n) ∈ pcache → ¬ boolvar) |
icache[ino, mkientry(false, inode)][ino0] = mkientry(boolvar1, inode2), pcache[datakey(ino0, n)] = mkpentry(boolvar, buf), icache[ino] = mkientry(false, inode0), icache[ino0] = mkientry(boolvar0, inode1), ino0 = ino, ino0 ∈ files, ino ∈ icache, ino0 ∈ icache[ino, mkientry(false, inode)] → ¬ boolvar1, ∀ ino0. ino0 ∈ files → (ino0 ∈ icache[ino, mkientry(false, inode)] → ¬ icache[ino, mkientry(false, inode)][ino0].dirty) ∧ (∀ n. datakey(ino0, n) ∈ pcache → ¬ pcache[datakey(ino0, n)].dirty), ∀ n. datakey(ino0, n) ∈ pcache → ¬ pcache[datakey(ino0, n)].dirty ⊦ (ino0 ∈ icache → ¬ boolvar0) ∧ (datakey(ino0, n) ∈ pcache → ¬ boolvar)
icache[ino, mkientry(false, inode)][ino0] = mkientry(boolvar1, inode2), pcache[datakey(ino0, n)] = mkpentry(boolvar, buf), icache[ino] = mkientry(false, inode0), icache[ino0] = mkientry(boolvar0, inode1), ino0 ∈ files, ino ∈ icache, ino0 ∈ icache[ino, mkientry(false, inode)] → ¬ boolvar1, ∀ ino0. ino0 ∈ files → (ino0 ∈ icache[ino, mkientry(false, inode)] → ¬ icache[ino, mkientry(false, inode)][ino0].dirty) ∧ (∀ n. datakey(ino0, n) ∈ pcache → ¬ pcache[datakey(ino0, n)].dirty), ∀ n. datakey(ino0, n) ∈ pcache → ¬ pcache[datakey(ino0, n)].dirty ⊦ ino0 = ino, (ino0 ∈ icache → ¬ boolvar0) ∧ (datakey(ino0, n) ∈ pcache → ¬ boolvar)
Used formulas: ino0 = ino