| root[p'].dir? ↔ m ∈ dirs, root.dir?, dom of < ino6, 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), pr(user, path, root, abs-files(files)), p' ⊑ parent(path), psynced → asynced ⊦ path = ε, px(user, p', ROOT_INO, dirs, files) |
⊦ pr(user, p, tree, fs) ↔ pr(user, meta(p, tree, fs)) ∧ px-parent(user, p, tree, fs)
⊦ ispath(q, ino, m, dirs, files) ∧ px(user, p, tree, abs-files(files)) ∧ q ⊑ p ∧ abs(tree, ino)(dirs) ∧ fids-cons(tree, abs-files(files), ofh) ∧ afs-cons(dirs, files) → px(user, q, ino, dirs, files)
Used simplifier rules: px-prefix: ⊦ ispath(q, ino, m, dirs, files) ∧ px(user, p, tree, abs-files(files)) ∧ q ⊑ p ∧ abs(tree, ino)(dirs) ∧ fids-cons(tree, abs-files(files), ofh) ∧ afs-cons(dirs, files) → px(user, q, ino, dirs, files);%⊦ p ≠ ε → (px-parent(user, p, tree, fs) ↔ px(user, parent(p), tree, fs)); (s)%tree[p].dir? ⊦ meta(p, tree, fs) = tree[p].meta; (s) Used terms: abs-files(files), root, path, user