| (m0 = ino0 ⊃ mkdir(m, md, n0, n1, entries -- str);dirs[m0]) = mkdir(m1, md0, m2, m3, entries0), m0 ∈ dirs, ino0 ∈ dirs, str ∈ entries ⊦ str0 ∈ entries0 ∧ entries[str] = entries0[str0] ↔ mklink(m0, str0) ≠ mklink(ino0, str) ∧ str0 ∈ (m0 = ino0 ⊃ mkdir(m, md, n0, n1, entries);dirs[m0]).entries ∧ entries[str] = (m0 = ino0 ⊃ mkdir(m, md, n0, n1, entries);dirs[m0]).entries[str0] |
(m0 = ino0 ⊃ mkdir(m, md, n0, n1, entries -- str);dirs[m0]) = mkdir(m1, md0, m2, m3, entries0), (m0 = ino0 ⊃ mkdir(m, md, n0, n1, entries);dirs[m0]) = mkdir(m4, md1, m5, m6, entries1), str ∈ entries, ino0 ∈ dirs, m0 ∈ dirs ⊦ str0 ∈ entries0 ∧ entries[str] = entries0[str0] ↔ mklink(m0, str0) ≠ mklink(ino0, str) ∧ str0 ∈ entries1 ∧ entries[str] = entries1[str0]
Used simplifier rules: ⊦ ( ((m = ad.size ∧ md = ad.meta) ∧ m0 = ad.nlink) ∧ m1 = ad.nsubdirs) ∧ entries = ad.entries ↔ ad = mkdir(m, md, m0, m1, entries); (elim) Used terms: (m0 = ino0 ⊃ mkdir(m, md, n0, n1, entries);dirs[m0]), m4, md1, m5, m6, entries1