| icache[m] = mkientry(true, mkinode(m1, md, false, # links(m1, dirs), 0, m4)), dirs[m1] = mkdir(m7, md2, m8, m9, entries), files[m1] = mkfile(m5, md1, # links(m1, dirs), content0), files[m] = mkfile(m0, md0, # links(m, dirs), content), afs-cons(dirs, files[m1, mkfile(m4, md, # links(m1, dirs), content0)]), afs-cons(dirs, files), icache-cons(icache, dirs, files), synced(dirs, icache, pcache), m ∈ files, m ∈ icache, m1 ∈ files ⊦ icache-cons (icache[m, mkientry(false, mkinode(m1, md, false, # links(m1, dirs), 0, m4))], dirs, files[m1, mkfile(m4, md, # links(m1, dirs), content0)]) |
⊦ icache-cons(icache, dirs, files) ↔ (∀ ino. ino ∈ icache → icache[ino].inode.ino = ino ∧ (icache[ino].dirty ⊃ valid-file-inode(icache[ino].inode, dirs, files) ;valid-ino(ino, dirs, files) ∧ valid-inode(icache[ino].inode, dirs, files) ))
files[m] = mkfile(m0, md0, # links(m, dirs), content), files[m1] = mkfile(m5, md1, # links(m1, dirs), content0), dirs[m1] = mkdir(m7, md2, m8, m9, entries), icache[m] = mkientry(true, mkinode(m1, md, false, # links(m1, dirs), 0, m4)), afs-cons(dirs, files), afs-cons(dirs, files[m1, mkfile(m4, md, # links(m1, dirs), content0)]), icache-cons(icache, dirs, files), synced(dirs, icache, pcache), m1 ∈ files, m ∈ icache, m ∈ files ⊦ ∀ ino. ino ∈ icache[m, mkientry(false, mkinode(m1, md, false, # links(m1, dirs), 0, m4))] → icache[m, mkientry(false, mkinode(m1, md, false, # links(m1, dirs), 0, m4))][ino].inode.ino = ino ∧ (icache[m, mkientry(false, mkinode(m1, md, false, # links(m1, dirs), 0, m4))][ino].dirty ⊃ valid-file-inode (icache[m, mkientry(false, mkinode(m1, md, false, # links(m1, dirs), 0, m4))][ino].inode, dirs, files[m1, mkfile(m4, md, # links(m1, dirs), content0)]) ; valid-ino(ino, dirs, files[m1, mkfile(m4, md, # links(m1, dirs), content0)]) ∧ valid-inode (icache[m, mkientry(false, mkinode(m1, md, false, # links(m1, dirs), 0, m4))][ino].inode, dirs, files[m1, mkfile(m4, md, # links(m1, dirs), content0)]) )
Used terms: icache [m, mkientry(false, mkinode(m1, md, false, # links(m1, dirs), 0, m4)) ], dirs, files[m1, mkfile(m4, md, # links(m1, dirs), content0)]