| ino ∈ dirs, str ∈ entries ⊦ subdirs(ino, dirs[ino, mkdir(n, md, n0, n1, entries -- str)]) = subdirs(ino, dirs[ino, mkdir(n, md, n0, n1, entries)]), entries[str] ∈ dirs |
⊦ strings = strings0 ↔ (∀ str. str ∈ strings ↔ str ∈ strings0)
Used simplifier rules: subdirs: ⊦ str ∈ subdirs(ino, dirs) ↔ ino ∈ dirs ∧ str ∈ dirs[ino].entries ∧ dirs[ino].entries[str] ∈ dirs;% ⊦ ino ∈ dirs[ino0, ad] ↔ ino ∈ dirs; (s)% ⊦ dirs[ino, ad][ino0] = (ino0 = ino ∧ ino ∈ dirs ⊃ ad;dirs[ino0]); (s)% ⊦ mkdir(m, md, m0, m1, entries).entries = entries; (s)% ⊦ str ∈ entries -- str0 ↔ str ≠ str0 ∧ str ∈ entries; (s)% ⊦ str ≠ str0 → (entries -- str0)[str] = entries[str]; (s)%str ≠ str0 ⊦ (entries -- str0)[str] = entries[str]; (s) Used terms: subdirs(ino, dirs[ino, mkdir(n, md, n0, n1, entries)]), subdirs(ino, dirs[ino, mkdir(n, md, n0, n1, entries -- str)])