| dirs[p_ino] = mkdir(m, md, n0, n1, entries), p_ino ∈ dirs ⊦ (ino ∈ dirs ⊃ subdirs(p_ino, dirs) ++ str;(str ∈ entries ∧ entries[str] ∈ dirs ⊃ subdirs(p_ino, dirs) -- str;subdirs(p_ino, dirs))) = (subdirs(p_ino, dirs) \ (str ∈ entries ∧ entries[str] ∈ dirs ⊃ ∅ ++ str;∅)) ∪ (ino ∈ dirs ⊃ ∅ ++ str;∅) |
⊦ strings = strings0 ↔ (∀ str. str ∈ strings ↔ str ∈ strings0)
dirs[p_ino] = mkdir(m, md, n0, n1, entries), p_ino ∈ dirs ⊦ ∀ str0. str0 ∈ (ino ∈ dirs ⊃ subdirs(p_ino, dirs) ++ str;(str ∈ entries ∧ entries[str] ∈ dirs ⊃ subdirs(p_ino, dirs) -- str;subdirs(p_ino, dirs))) ↔ str0 ∈ (subdirs(p_ino, dirs) \ (str ∈ entries ∧ entries[str] ∈ dirs ⊃ ∅ ++ str;∅)) ∪ (ino ∈ dirs ⊃ ∅ ++ str;∅)
Used terms: ( subdirs(p_ino, dirs) \ (str ∈ entries ∧ entries[str] ∈ dirs ⊃ ∅ ++ str;∅)) ∪ (ino ∈ dirs ⊃ ∅ ++ str;∅), (ino ∈ dirs ⊃ subdirs(p_ino, dirs) ++ str ;(str ∈ entries ∧ entries[str] ∈ dirs ⊃ subdirs(p_ino, dirs) -- str ;subdirs(p_ino, dirs) ) )