| str ∈ entries, p_ino ∈ dirs, m ∈ dirs ⊦ str0 ∈ (m = p_ino ⊃ mkdir(m0, md, n, n0, entries[str, ino]);dirs[m]).entries ∧ entries[str] = (m = p_ino ⊃ mkdir(m0, md, n, n0, entries[str, ino]);dirs[m]).entries[str0] ↔ mklink(m, str0) ≠ mklink(p_ino, str) ∧ str0 ∈ (m = p_ino ⊃ mkdir(m0, md, n, n0, entries);dirs[m]).entries ∧ entries[str] = (m = p_ino ⊃ mkdir(m0, md, n, n0, entries);dirs[m]).entries[str0], ino = entries[str] |
(m = p_ino ⊃ mkdir(m0, md, n, n0, entries[str, ino]);dirs[m]) = mkdir(m1, md0, m2, m3, entries0), m ∈ dirs, p_ino ∈ dirs, str ∈ entries ⊦ str0 ∈ entries0 ∧ entries[str] = entries0[str0] ↔ mklink(m, str0) ≠ mklink(p_ino, str) ∧ str0 ∈ (m = p_ino ⊃ mkdir(m0, md, n, n0, entries);dirs[m]).entries ∧ entries[str] = (m = p_ino ⊃ mkdir(m0, md, n, n0, entries);dirs[m]).entries[str0], ino = entries[str]
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: (m = p_ino ⊃ mkdir(m0, md, n, n0, entries[str, ino]);dirs[m]), m1, md0, m2, m3, entries0