| tree[p].dir? ↔ m ∈ dirs, abs(tree, ino)(dirs), afs-cons(dirs, files), fids-cons(tree, abs-files(files), ofh), ispath(p, ino, m, dirs, files) ⊦ pw(user, p, tree, abs-files(files)) ∧ px(user, p, tree, abs-files(files)) ↔ py(user, p, ino, dirs, files) |
⊦ ispath(p, ino, m, dirs, files) ∧ abs(tree, ino)(dirs) ∧ fids-cons(tree, abs-files(files), ofh) ∧ afs-cons(dirs, files) → (px(user, p, tree, abs-files(files)) ↔ px(user, p, ino, dirs, files))
tree[p].dir? ↔ m ∈ dirs, abs(tree, ino)(dirs), afs-cons(dirs, files), fids-cons(tree, abs-files(files), ofh), ispath(p, ino, m, dirs, files) ⊦ pw(user, p, tree, abs-files(files)) ∧ px(user, p, ino, dirs, files) ↔ py(user, p, ino, dirs, files)
Used simplifier rules: px: ⊦ ispath(p, ino, m, dirs, files) ∧ abs(tree, ino)(dirs) ∧ fids-cons(tree, abs-files(files), ofh) ∧ afs-cons(dirs, files) → ( px(user, p, tree, abs-files(files)) ↔ px(user, p, ino, dirs, files));