| ((ino0 => mkdir(# entries, md, m0, m1, entries) * abs(sdt, entries)))(dirs), p0 ∈ sdt[str], str ∈ sdt, str ∈ entries, ∀ tree, ino0, dirs. abs(tree, ino0)(dirs) ∧ p0 ∈ tree → (∃ ino. ((abs(tree[p0], ino) * (abs(tree[p0], ino) -* abs(tree, ino0))))(dirs)) ⊦ ∃ ino. (( abs(sdt[str][p0], ino) * (abs(sdt[str][p0], ino) -* _∃(λ ad0. ino0 => ad0 * abs(sdt, ad0.entries) ∧ ⌜ad0.meta = md⌝ ∧ ⌜ad0.size = # ad0.entries⌝ ))) )(dirs) |
⊦ str ∈ sdt ↔ (∃ tree, sdt0. sdt = sdt0[str, tree] ∧ ¬ str ∈ sdt0)
((ino0 => mkdir(# entries, md, m0, m1, entries) * abs(sdt, entries)))(dirs), str ∈ entries, p0 ∈ sdt[str], ∀ tree, ino0, dirs. abs(tree, ino0)(dirs) ∧ p0 ∈ tree → (∃ ino. ((abs(tree[p0], ino) * (abs(tree[p0], ino) -* abs(tree, ino0))))(dirs)), ∃ tree, sdt0. sdt = sdt0[str, tree] ∧ ¬ str ∈ sdt0 ⊦ ∃ ino. (( abs(sdt[str][p0], ino) * (abs(sdt[str][p0], ino) -* _∃(λ ad0. ino0 => ad0 * abs(sdt, ad0.entries) ∧ ⌜ad0.meta = md⌝ ∧ ⌜ad0.size = # ad0.entries⌝ ))) )(dirs)
Used terms: sdt, str