| c_inode = inode, dent = negdentry(str), err = ENOTDIR, err0 = ESUCCESS, err1 = ESUCCESS, ino = ino0, inode = getinode(ino, dirs, files), afs-cons(dirs, files), ispath(q, ROOT_INO, ino0, dirs, files), of-cons(of, dirs, files), px-parent(user, q, ROOT_INO, dirs, files), ino0 ∈ dirs ∨ ino0 ∈ files ⊦ ⟪if err = ESUCCESS then afs_link#(dent; new_inode, c_inode, new_dent, err, dirs, files; asynced)⟫ (of-cons(of, dirs, files) ∧ afs-cons(dirs, files)), p = ε, inode.directory |
c_inode = inode, dent = negdentry(str), err = ENOTDIR, err0 = ESUCCESS, err1 = ESUCCESS, ino = ino0, inode = getinode(ino, dirs, files), afs-cons(dirs, files), ispath(q, ROOT_INO, ino0, dirs, files), of-cons(of, dirs, files), px-parent(user, q, ROOT_INO, dirs, files), ino0 ∈ dirs ∨ ino0 ∈ files ⊦ ⟪skip⟫ (of-cons(of, dirs, files) ∧ afs-cons(dirs, files)), p = ε, inode.directory
Used simplifier rules: ⊦ ESUCCESS ≠ ENOTDIR; (s)