| (((ino0 => mkdir(# entries, md, m0, m1, entries) * abs(sdt, entries)) * {dirs0} ))(dirs), ino ∈ dirs, ∀ str. str ∈ sdt → (∀ ino, dirs, ino0, dirs0, files. ino ∈ dirs ∧ ((abs(sdt[str], ino0) * {dirs0} ))(dirs) → ino ∈ dirs0 ∨ (∃ p. ispath(p, ino0, ino, dirs, files))) ⊦ ino ∈ dirs0, ∃ p. ispath(p, ino0, ino, dirs, files), ∃ entries0, n, n0. entries ⊆ entries0 ∧ (((ino0 => mkdir(n, md, m0, n0, entries0) * abs(sdt, entries)) * {dirs0} ))(dirs) |
Used simplifier rules: ⊦ entries ⊆ entries; (s)%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: entries, # entries, m1