| icache-cons(cache_icache, cache_dirs, cache_files), dcache-cons(cache_dcache, cache_dirs, cache_files), pcache-cons(cache_pcache, cache_dirs, cache_files), afs-cons(cache_dirs, cache_files), afs-cons(afs_dirs, afs_files), synced(cache_dirs, cache_icache, cache_pcache), cache_sync → synced(cache_files, cache_icache, cache_pcache), valid-dentry(old_parent_inode.ino, old_dent, afs_dirs, afs_files), valid-negdentry(new_parent_inode.ino, new_dent, afs_dirs, afs_files), valid-dir-inode(old_parent_inode, afs_dirs, afs_files), valid-dir-inode(new_parent_inode, afs_dirs, afs_files), valid-dir-inode(old_child_inode, afs_dirs, afs_files), old_child_inode.ino = old_dent.ino, new_parent_inode.ino = old_parent_inode.ino → new_parent_inode.meta = old_parent_inode.meta, afs_dirs = cache_dirs, afs_files = (cache_files ⊕ cache_pcache) ⊕ cache_icache, afs_asynced ↔ cache_asynced, old_parent_inode = old_parent_inode0, new_parent_inode = new_parent_inode0, old_child_inode = old_child_inode0, new_child_inode = new_child_inode0, old_dent = old_dent0, new_dent = new_dent0, err = err0 ⊦ ⟪cache_rename# (; old_parent_inode, new_parent_inode, old_child_inode, new_child_inode, old_dent, new_dent, err, cache_dirs, cache_files, cache_icache, cache_dcache, cache_asynced)⟫ ⟨afs_rename# (; old_parent_inode0, new_parent_inode0, old_child_inode0, new_child_inode0, old_dent0, new_dent0, err0, afs_dirs, afs_files; afs_asynced)⟩ ( old_parent_inode = old_parent_inode0 ∧ new_parent_inode = new_parent_inode0 ∧ old_child_inode = old_child_inode0 ∧ new_child_inode = new_child_inode0 ∧ old_dent = old_dent0 ∧ new_dent = new_dent0 ∧ err = err0 ∧ afs_dirs = cache_dirs ∧ afs_files = (cache_files ⊕ cache_pcache) ⊕ cache_icache ∧ (afs_asynced ↔ cache_asynced)) |