| # entries = m + 1, tree[p] = dnode(md, sdt), ((abs|(tree, ROOT_INO, p, ino0) * ino0 => mkdir(m, md, m0, m1, entries -- str) * abs(sdt -- str, entries -- str) * D))(dirs), str ∈ entries, p ∈ tree ⊦ str ' = ε, entries = ∅, ((abs(tree[p, tree[p] -- str '], ROOT_INO) * D))(dirs) |
# entries = m + 1, tree[p] = dnode(md, sdt), ((abs|(tree, ROOT_INO, p, ino0) * ino0 => mkdir(m, md, m0, m1, entries -- str) * abs(sdt -- str, entries -- str) * D))(dirs), str ∈ entries, p ∈ tree ⊦ entries = ∅, ((abs(tree[p, dnode(md, sdt -- str)], ROOT_INO) * D))(dirs)
Used simplifier rules: ⊦ dnode(md, sdt) -- str ' = dnode(md, sdt -- str); (s)% ⊦ str ' ≠ ε; (s)