| ((abs|(sdt[str], entries[str], p0, ino0) * abs(sdt -- str, entries -- str) * ino => mkdir(# entries, md, m0, m1, entries) * D))(dirs), ispath(p0, entries[str], ino1, dirs, files), str ∈ entries, p0 ∈ sdt[str], str ∈ sdt, ∀ tree, ino, ino0, D, dirs, ino1, files. ((abs|(tree, ino, p0, ino0) * D))(dirs) ∧ ispath(p0, ino, ino1, dirs, files) ∧ p0 ∈ tree → ino0 = ino1 ⊦ ino0 = ino1 |
Used simplifier rules: sep-ass: ⊦ (D * D0) * D1 = D * D0 * D1; from specification heap-sep[dir-heap]%sep-com: ⊦ D * D0 = D0 * D; from specification heap-sep[dir-heap] Used terms: sdt[str], entries[str], ino0, D * ino => mkdir(# entries, md, m0, m1, entries) * abs(sdt -- str, entries -- str), dirs, ino1, files