| ⊦ pre-rmdir(p_inode, c_inode, dent, fs, ri, ro) ↔ dent.ino ≠ ROOT_INO ∧ valid-dentry(p_inode.ino, dent, fs, ri, ro) ∧ fs[ri[inodekey(dent.ino)]].nlink = 1 ∧ links(dent.ino, fs, ri) = {dentrykey(p_inode.ino, dent.name)} ∧ dentrykeys(inodekey(dent.ino), ri) = ∅ ∧ ¬ inodekey(dent.ino) ∈ ro ∧ valid-dir-inode(p_inode, fs, ri) ∧ valid-dir-inode(c_inode, fs, ri) ∧ c_inode.ino = dent.ino ∧ p_inode.nsubdirs ≥ 1 ∧ p_inode.size ≥ 1 |