| root[p'].dir? ↔ m ∈ dirs, path = q + str ', root.dir?, dom of < ino0, abs(root, ROOT_INO)(dirs), afs-cons(dirs, files), fids-cons(root, abs-files(files), abs-of(of)), ispath(p', ROOT_INO, m, dirs, files), of-cons(of, dirs, files), pw(user, path, root, abs-files(files)), p' ⊑ q, psynced → asynced ⊦ path = ε, px(user, p', ROOT_INO, dirs, files) |
root[p'].dir? ↔ m ∈ dirs, root.dir?, dom of < ino0, abs(root, ROOT_INO)(dirs), afs-cons(dirs, files), fids-cons(root, abs-files(files), abs-of(of)), ispath(p', ROOT_INO, m, dirs, files), of-cons(of, dirs, files), pw(user, q + str ', root, abs-files(files)), p' ⊑ q, psynced → asynced ⊦ px(user, p', ROOT_INO, dirs, files)
Used simplifier rules: a: ⊦ (p + p0) + p1 = p + p0 + p1; from specification list[path]% ⊦ p + str ' ≠ ε; (s)