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