| tree[parent(p)].dir?, parent(p) ∈ tree, str ' + q0 ⊑ p, ∀ tree, p, tree0, ino0, ino1, D, dirs. tree[parent(p)].dir? ∧ parent(p) ∈ tree ∧ q0 ⊑ p → (((abs|(tree[p, tree0], ino0, q0, ino1) * D))(dirs) ↔ ((abs|(tree, ino0, q0, ino1) * D))(dirs)) ∨ p = ε ⊦ ((abs|(tree[p, tree0], ino0, str ' + q0, ino1) * D))(dirs) ↔ ((abs|(tree, ino0, str ' + q0, ino1) * D))(dirs), p = ε |
tree = dnode(md, sdt), tree[parent(p)].dir?, parent(p) ∈ tree, str ' + q0 ⊑ p, ∀ tree, p, tree0, ino0, ino1, D, dirs. tree[parent(p)].dir? ∧ parent(p) ∈ tree ∧ q0 ⊑ p → (((abs|(tree[p, tree0], ino0, q0, ino1) * D))(dirs) ↔ ((abs|(tree, ino0, q0, ino1) * D))(dirs)) ∨ p = ε ⊦ ((abs|(tree[p, tree0], ino0, str ' + q0, ino1) * D))(dirs) ↔ ((abs|(tree, ino0, str ' + q0, ino1) * D))(dirs), p = ε
tree = fnode(fid), tree[parent(p)].dir?, parent(p) ∈ tree, str ' + q0 ⊑ p, ∀ tree, p, tree0, ino0, ino1, D, dirs. tree[parent(p)].dir? ∧ parent(p) ∈ tree ∧ q0 ⊑ p → (((abs|(tree[p, tree0], ino0, q0, ino1) * D))(dirs) ↔ ((abs|(tree, ino0, q0, ino1) * D))(dirs)) ∨ p = ε ⊦ ((abs|(tree[p, tree0], ino0, str ' + q0, ino1) * D))(dirs) ↔ ((abs|(tree, ino0, str ' + q0, ino1) * D))(dirs), p = ε
Used simplifier rules: directory-tree, entries-tree generated by ∅, dnode, fnode, [ ];;