| 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) ⊦ str ∈ entries, ∃ ad. ad.meta = md ∧ ad.size = # ad.entries ∧ (((ino0 => ad * abs(sdt[str, tree0], ad.entries)) * abs|(tree[p, dnode(ad.meta, sdt[str, tree0])], ROOT_INO, p, ino0)))(dirs) |
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) ⊦ str ∈ entries, mkdir(# entries + 1, md, m0, m1, entries[str, ino1]).meta = md ∧ mkdir(# entries + 1, md, m0, m1, entries[str, ino1]).size = # mkdir(# entries + 1, md, m0, m1, entries[str, ino1]).entries ∧ (( ( ino0 => mkdir(# entries + 1, md, m0, m1, entries[str, ino1]) * abs(sdt[str, tree0], mkdir(# entries + 1, md, m0, m1, entries[str, ino1]).entries)) * abs|(tree[p, dnode(mkdir(# entries + 1, md, m0, m1, entries[str, ino1]).meta, sdt[str, tree0])], ROOT_INO, p, ino0)) )(dirs)
Used terms: mkdir(# entries + 1, md, m0, m1, entries[str, ino1])