| dirs[ino].nlink = 0, asynced ↔ true, dirs0 = dirs \ orphans(dirs, files), files0 = files \ orphans(dirs, files), ino = inode.ino, afs-cons(dirs, files), ino ∈ dirs, inode.ino ∈ dirs ∧ inode.nlink = dirs[inode.ino].nlink ∧ inode.size = dirs[inode.ino].size ∧ inode.nsubdirs = dirs[inode.ino].nsubdirs ∧ inode.directory ∨ inode.ino ∈ files ∧ inode.nlink = files[inode.ino].nlink ∧ inode.nsubdirs = 0 ∧ ¬ inode.directory ⊦ inode.ino = ROOT_INO, dirs0 = (dirs -- ino) \ orphans(dirs -- ino, files) ∧ files0 = files \ orphans(dirs -- ino, files) |
inode.nlink = 0, inode.nsubdirs = dirs[inode.ino].nsubdirs, inode.size = dirs[inode.ino].size, 0 = dirs[inode.ino].nlink, inode.directory, afs-cons(dirs, files), inode.ino ∈ dirs ⊦ inode.ino = ROOT_INO, dirs \ orphans(dirs, files) = (dirs -- inode.ino) \ orphans(dirs -- inode.ino, files) ∧ files \ orphans(dirs, files) = files \ orphans(dirs -- inode.ino, files)
Used simplifier rules: ⊦ afs-cons(dirs, files) ∧ ino ∈ dirs → ¬ ino ∈ files; (s)