| tree[p] = dnode(md, sdt), ((abs|(tree, ROOT_INO, p, ino0) * ino0 => mkdir(# entries + 1, md, m0, m1, entries[str, ino1]) * abs(sdt, entries) * D))(dirs), p ∈ tree, D ⊆ abs(tree0, ino1) ⊦ (( ino0 => mkdir(# entries + 1, md, m0, m1, entries[str, ino1]) * (abs(tree0, ino1) * abs(sdt, entries)) * abs|(tree[p, dnode(md, sdt[str, tree0])], ROOT_INO, p, ino0)) )(dirs), str ∈ entries, str ∈ sdt, p ≠ ε ∧ p ⊑ p ∧ parent(p) ∈ tree ∧ tree[parent(p)].dir? |
tree[p] = dnode(md, sdt), ((abs|(tree, ROOT_INO, p, ino0) * ino0 => mkdir(# entries + 1, md, m0, m1, entries[str, ino1]) * abs(sdt, entries) * D))(dirs), p ∈ tree, D ⊆ abs(tree0, ino1) ⊦ (( ino0 => mkdir(# entries + 1, md, m0, m1, entries[str, ino1]) * (abs(tree0, ino1) * abs(sdt, entries)) * abs|(tree[p, dnode(md, sdt[str, tree0])], ROOT_INO, p, ino0)) )(dirs), str ∈ sdt, str ∈ entries, p ≠ ε ∧ parent(p) ∈ tree ∧ tree[parent(p)].dir?
Used simplifier rules: ⊦ p ⊑ p; (s)