| dirs[p_ino] = mkdir(m, md, n0, n1, entries), p_ino ∈ dirs ⊦ ∀ str0. str0 ∈ subdirs(p_ino, dirs[p_ino, mkdir(m0, md, n0, n2, entries -- str)]) ↔ str0 ∈ (str ∈ entries ∧ entries[str] ∈ dirs ⊃ subdirs(p_ino, dirs) -- str;subdirs(p_ino, dirs)) |
dirs[p_ino] = mkdir(m, md, n0, n1, entries), p_ino ∈ dirs ⊦ str0 ∈ (str ∈ entries ∧ entries[str] ∈ dirs ⊃ subdirs(p_ino, dirs[p_ino, mkdir(m0, md, n0, n2, entries)]) -- str ;subdirs(p_ino, dirs[p_ino, mkdir(m0, md, n0, n2, entries)]) ) ↔ str0 ∈ (str ∈ entries ∧ entries[str] ∈ dirs ⊃ subdirs(p_ino, dirs) -- str;subdirs(p_ino, dirs))
Used simplifier rules: subdirs-del-entry: ⊦ ino ∈ dirs → subdirs(ino, dirs[ino, mkdir(n, md, n0, n1, entries -- str)]) = (str ∈ entries ∧ entries[str] ∈ dirs ⊃ subdirs(ino, dirs[ino, mkdir(n, md, n0, n1, entries)]) -- str ;subdirs(ino, dirs[ino, mkdir(n, md, n0, n1, entries)]) );