| ⊦ synced(dirs, icache[ino, mkientry(false, inode)], pcache) ↔ synced(dirs, icache, pcache), ino ∈ icache |
⊦ (∀ ino0. ino0 ∈ dirs → (ino0 ∈ icache[ino, mkientry(false, inode)] → ¬ icache[ino, mkientry(false, inode)][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)), ino ∈ icache
Used simplifier rules: synced-dirs: ⊦ synced(dirs, icache, pcache) ↔ (∀ ino. ino ∈ dirs → synced(ino, icache, pcache));%synced-ino: ⊦ synced(ino, icache, pcache) ↔ (ino ∈ icache → ¬ icache[ino].dirty) ∧ (∀ n. datakey(ino, n) ∈ pcache → ¬ pcache[datakey(ino, n)].dirty);